0
点赞
收藏
分享

微信扫一扫

Windows下编译使用Aliyun OSS PHP SDK


安装环境:Win7 64 + PHP 5.6 + OSS PHP SDK 2.0.6

安装PHP

  • 1. 下载安装包。打开 http://windows.php.net/download/ ,从​​PHP 5.6 (5.6.22) -> VC11 x64 Thread Safe (2016-May-26 18:22:23) -> zip​​下载PHP安装包,下载到本地后的文件是php-5.6.22-Win32-VC11-x64.zip。
> 提示:
> - 如果您的机器是32位,下载时请选择VC11 x86 Thread Safe。
  • 2. 解包安装包。​​PHP_INSTALL_DIR​​为PHP的安装目录。在安装目录PHP_INSTALL_DIR下解压php-5.6.22-Win32-VC11-x64.zip,解压后PHP根目录是%PHP_INSTALL_DIR%/php-5.6.22-Win32-VC11-x64,这个目录里有php.exe等文件。
  • 3. PHP配置文件。进入%PHP_INSTALL_DIR%/php-5.6.22-Win32-VC11-x64,复制php.ini-development,并改名为php.ini。
  • 4. 配置PATH。把​​%PHP_INSTALL_DIR%/php-5.6.22-Win32-VC11-x64​​加入系统变量Path。方法如下:在​​我的电脑​​右击选择​​属性​​,然后按照​​高级系统设置 -> 高级 -> 环境变量​​,进入​​环境变量​​属性页,在​​系统变量​​中把%PHP_INSTALL_DIR%/php-5.6.22-Win32-VC11-x64加入Path。
> 注意:
> - WIN下变量之间的分隔是`;` ,而不是Linux下的`:`。
  • 5. 确认安装认成功。按​​WIN+R​​弹出运行窗口,在​​打开​​中输入​​cmd​​回车,即可打开DOS命令行窗口。在Dos命令行中输入命令​​php -v​​,如果显示PHP的版本号,说明安装成功。

安装PHP cURL extension

  • 6. 复制DLL。将PHP安装目录%PHP_INSTALL_DIR%/php-5.6.22-Win32-VC11-x64下的libeay32.dll,ssleay32.dll及​​ext​​目录下的php_curl.dll复制到​​C:\Windows\System32​​;
  • 7. 修改配置文件。打开%PHP_INSTALL_DIR%/php-5.6.22-Win32-VC11-x64下的​​php.ini​​,将 ;extension=php_curl.dll 头部的分号去掉;

安装composer

  • 8. 下载composer。打开https://getcomposer.org/download/,从​​Manual Download​​中下载当前最新版本1.1.2。下载到本地的文件是composer.phar。
> 提示:
> - composer.phar下载比较慢,请耐心等待。
  • 9. 安装composer。把composer.phar复制到%PHP_INSTALL_DIR%/php-5.6.22-Win32-VC11-x64,并在php-5.6.22-Win32-VC11-x64目录下创建文本文件composer.bat,添加如下内容:
@php %~dp0composer.phar %*
  • 10. 确认安装成功。在DOS命令行中执行命令​​composer --version​​,如果显示composer的版本号,说明安装成功。
  • 11. 配置composer。在DOS命令行窗中执行如下命令配置composer。
composer config -g disable-tls true
composer config -g secure-http false
composer config -g repositories.packagist composer http://packagist.phpcomposer.com

安装phar-composer

  • 12. 下载phar-composer。打开https://github.com/clue/phar-composer,在​​Clone or download -> Download ZIP​​下载源代码包。下载到本地后的文件phar-composer-master.zip,解压后代码目录为phar-composer-master。
  • 13. 编译phar-composer。在DOS命令行中进入代码目录phar-composer-master,执行命令​​composer install​​。然后执行命令​​php -d phar.readonly=off bin/phar-composer build​​,完成后会生成phar-composer.phar。
  • 14. 安装phar-composer。把phar-composer.phar复制到%PHP_INSTALL_DIR%/php-5.6.22-Win32-VC11-x64,并在php-5.6.22-Win32-VC11-x64目录下创建文本文件phar-composer.bat,添加如下内容:
@php %~dp0phar-composer.phar %*
  • 15. 确认安装成功。在DOS命令行中执行命令​​phar-composer --version​​,如果显示phar-composer的版本号,说明安装成功。

编译OSS PHP SDK

  • 16. 下载SDK源码。打开https://github.com/aliyun/aliyun-oss-php-sdk,在​​Clone or download -> Download ZIP​​下载源代码包。下载到本地后的文件aliyun-oss-php-sdk-master.zip,解压后代码目录为aliyun-oss-php-sdk-master。
  • 17. 执行测试。在DOS命令行中进入代码目录aliyun-oss-php-sdk-master,执行如下命令配置测试参数:
set OSS_ACCESS_KEY_ID=<AccessKeyID>
set OSS_ACCESS_KEY_SECRET=<AccessKeySecret>
set OSS_ENDPOINT=<ENDPOINT>
set OSS_BUCKET=<BucketName>

然后执行命令​​vendor/bin/phpunit​​运行测试用例。

> 提示:
> - endpoint格式形如`http://oss-cn-hangzhou.aliyuncs.com`。
  • 18. 执行sample。修改aliyun-oss-php-sdk-master/samples/Config.php中的​​OSS_ACCESS_ID/OSS_ACCESS_KEY/OSS_ENDPOINT/OSS_TEST_BUCKET​​为有效值。在DOS命令行中进入目录aliyun-oss-php-sdk-master/samples,执行命令​​php RunAll.php​​运行示例程序。
  • 19. 编译SDK。在DOS命令行进入代码目录aliyun-oss-php-sdk-master,执行命令​​composer install​​下载依赖包。然后执行命令

    ​php -d phar.readonly=off %PHP_INSTALL_DIR%/php-5.6.22-Win32-VC11-x64/phar-composer.phar build . aliyun-oss-php-sdk.phar​​,完成后会生成OSS PHP SDK包aliyun-oss-php-sdk.phar。

运行OSS PHP SDK测试程序

  • 20. 写简单测试程序。新建测试文件test_oss.php,在该文件输入如下内容:
<?php
require_once 'aliyun-oss-php-sdk.phar';


use OSS\OssClient;
use OSS\Core\OssException;


$endpoint = "<ENDPOINT>"; // http://oss-cn-hangzhou.aliyuncs.com
$accessKeyId = "<ACCESS_KEY_ID/>";
$accessKeySecret = "<ACCESS_KEY_SECRET>";
$bucket = "<BUCKET_NAME>";


try {
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);


// list bucket
$bucketListInfo = $ossClient->listBuckets();
$bucketList = $bucketListInfo->getBucketList();
print("bucketList:\n");
foreach($bucketList as $buck) {
print($buck->getLocation() . "\t" . $buck->getName() . "\t" . $buck->getCreatedate() . "\n");
}


// list objects
$options = array();
$listObjectInfo = $ossClient->listObjects($bucket, $options);
$objectList = $listObjectInfo->getObjectList();
if (!empty($objectList)) {
print("objectList:\n");
foreach ($objectList as $objectInfo) {
print($objectInfo->getKey() . "\t" . $objectInfo->getSize() . "\t" . $objectInfo->getLastModified() . "\n");
}
}


// put object
$object = "php-test-key";
$content = "Hello, OSS!";
$ossClient->putObject($bucket, $object, $content);


// get object
$content = $ossClient->getObject($bucket, $object);
print("key is fetched, the content is: " . $content);


// delete object
$ossClient->deleteObject($bucket, $object);
} catch (OssException $e) {
print($e->getMessage() . "\n");
return;
}
?>
  • 21. 运行测试程序。把aliyun-oss-php-sdk.phar复制test_oss.php的同级目录。在DOS命令行进入test_oss.php,执行命令​​php test_oss.php​​运行测试程序。
举报

相关推荐

0 条评论