摘要: WIN环境下搭建Aliyun OSS PHP SDK编译运行环境。从PHP的安装逐步完成,SDK的编译运行。即使没有任何PHP基础,也能顺利完成。

安装环境: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运行测试程序。

Windows下编译使用Aliyun OSS PHP SDK的更多相关文章

  1. Windows下编译 Hadoop

    Windows下编译 Hadoop-2.9.2 系统环境 系统: Windows 10 10.0_x64 maven: Apache Maven 3.6.0 jdk: jdk_1.8.0_201 Pr ...

  2. Windows下编译SDL

    Windows下编译SDL的理由我就不多说了,无论用VS来编译或调试SDL库都是很方便的.而且SDL源代码中也包含了VC工程,你所要做的只是解压VC工程,进行适当的配置,然后编译.调试. 编译SDL大 ...

  3. windows下编译php7图形库php_ui.dll

    CSDN博客 具有图形化编程才有意思,这几天看到了php ui 图形扩展,只是现在只能下载php 7.1的 本次教程编译php7.2.6的 php ui 要是linux下编译起来比较简单 但是 win ...

  4. windows下编译和安装boost库

    boost是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库. 获取方式 boost提供源码形式的安装包,可以从boost官方网站下载,目前最新版本是1.59.0. 本机上正好有boos ...

  5. 在Windows下编译WebRTC

    前言 这篇文章的目的在于为你节省生命中宝贵的10小时(甚至更多),或者浪费你10分钟.作为Google更新频繁的大型跨平台基础库,WebRTC的编译一直被人称为噩梦.如果恰巧你偏要在Windows下编 ...

  6. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  7. Windows下编译objective-C

    Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode   目录 ...

  8. 在Windows下编译FFmpeg详细说明

    MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...

  9. 如何在WINDOWS下编译BOOST C++库 .

    如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25   写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0.   1)下载boost ...

随机推荐

  1. 论文笔记之:Fully Convolutional Attention Localization Networks: Efficient Attention Localization for Fine-Grained Recognition

    Fully Convolutional Attention Localization Networks: Efficient Attention Localization for Fine-Grain ...

  2. 关于margin和padding的总结

    总结一下: 要想实现如(图一)效果,(即一个div中的子元素与父元素有间距): 如果类名为.middle的父元素没有写border,则类名为firstChild的子元素设置margin-top,会导致 ...

  3. linux nginx 配置ssl证书访问

    http://www.linuxidc.com/Linux/2013-08/88271.htm 一.什么是 SSL 证书,什么是 HTTPSSSL 证书是一种数字证书,它使用 Secure Socke ...

  4. 全文检索引擎 Lucene.net

    全文搜索引擎是目前广泛应用的主流搜索引擎.它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行 ...

  5. 使用JavaScript实现一个倒数计时程序

    使用JavaScript在网页中实现一个计算当年还剩多少时间的倒数计时程序,网页上能够实时动态显示“XX年还剩XX天XX时XX分XX秒”: 程序代码如下: <meta charset=" ...

  6. 前端优化:DNS预解析提升页面速度

    在网页体验中我们常会遇到这种情况,即在调用百度联盟.谷歌联盟以及当前网页所在域名外的域名文件时会遇到请求延时非常严重的情况.那么有没有方法去解决这种请求严重延时的现象呢? 一般来说这种延时的原因不会是 ...

  7. Eclipse 常用快捷键的使用

    Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合.通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升.     ...

  8. Android 服务端开发之开发环境配置

    Android 服务端开发之开发环境配置 这里是在Eclipse的基础上安装PhpEclipse插件方法,PHPEclipse是Eclipse的 一个用于开发PHP的插件.当然也可以采用Java开发a ...

  9. 注解:@Autowired

    Spring的bean对象自动装配注解,@Autowired有三种使用方式,下面分别介绍! 1. 作用于类成员变量上,即在定义类的成员变量的时候,至于其上方. public class Mobile{ ...

  10. liveusb-creator

    liveusb-creator The liveusb-creator is a cross-platform tool for easily installing live operating sy ...