项目有存储图像、需要。单靠云主机的弱鸡带宽肯定是撑不住的,所以考虑用对象储存服务。主打弹性成本带宽也管饱,还有一些额外的好处,下文説。下文流水账记录快速部署到可用的状态。其实官方文档已经有足够的信息只是版本有点杂,我需要多出相互比对测试了一番。所以下面这个也可以说是速通教程。

整体使用下来还是比较顺利的。感觉坑比腾讯云的少..不知道是不是错觉

1.准备工作

  1. 开通OSS服务,创建一个bucket (自定义仓库名),选择一个endpoint (可以理解为选择地理位置机房)。跳过那些什么资源包和什么优化融合线路之类的,选默认国内便宜的。按量收费。仓库的定义也默认为主,我选择了 私写公读 这些根据自己项目情况决定就好。
  2. 需要创建一对 accessKey , 这个不是在OSS服务下创建的,是在控制台自己账号下(看截图)这个密钥是其他地方的服务也是需要的。
    aliyun1.jpg

2.下载、部署SDK

官方有提供SDK,但是看到sample 又是composer/autoload 我真的吐了啊。不喜欢简单问题复杂化。

https://help.aliyun.com/zh/oss/

扭头去github查有没有第三方...额,发现了github上的阿里官方号。但是!

https://github.com/aliyun/aliyun-oss-php-sdk

我看到个好东西! 甚得我心,马上下载!

您也可以直接下载已经打包好的phar文件,然后在你 的代码中引入这个文件即可:

require_once '/path/to/oss-sdk-php.phar';

简单鼓捣一番,体验ali_OSS 最简单的代码如下

require_once './aliyun-oss-2.6.0.phar';
use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\Core\OssException;
$accessKeyId = "LTA**********jUx";  //密钥
$accessKeySecret = "iPK**********YkQB";
$endpoint = "oss-cn-shenzhen.aliyuncs.com"; //创建仓库的时候选择的
$bucket = "ossxyd"; //自己创建的仓库名

$object = "test/demo.jpg";    //打算储存到OSS上的路径
$localfile = dirname(__FILE__)."/demo.jpg";    //准备上传的本地文件

try {
    $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
} catch (OssException $e) {
    print $e->getMessage();
    return;
}

$ossClient->uploadFile($bucket, $object, $localfile);

print_r("done!");

//生成结果
// https://{bucket}.{endpoint}/{object}
// 使用URL参数,创建缩略图
// https://ossxyd.oss-cn-shenzhen.aliyuncs.com/test/demo.jpg?x-oss-process=image/resize,w_120

没有一行多余代码。
上传之后访问这个图片的地址,由你的 {bucket} {endpoint} {object} 决定,这都是已知的
附带的好处是,你可以带参数的方式直接返回缩略图。更省带宽和网速了。

Aliyun YYDS!

标签: php, aliyun, oss

添加新评论