Windows下编译使用Aliyun OSS PHP SDK

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
日志服务 SLS,月写入数据量 50GB 1个月
简介: 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.dllssleay32.dllext目录下的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运行测试程序。
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
1月前
|
存储 人工智能 开发工具
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
只需要通过向AI助理提问的方式输入您的需求,即可瞬间获得核心流程代码及参数,缩短学习路径、提升开发效率。
1426 4
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
|
14天前
|
API 开发工具 C#
神策SDK不支持Windows客户端全埋点,怎么实现用户统计分析?
本文将介绍,ClkLog针对神策不支持全埋点的客户端实现用户访问基础统计分析 1。
神策SDK不支持Windows客户端全埋点,怎么实现用户统计分析?
|
26天前
|
API 开发工具 UED
在 UWP 中使用 Windows App SDK
【10月更文挑战第17天】在UWP中使用Windows App SDK可增强应用功能和性能。首先了解SDK特性,接着安装Visual Studio 2022及以上版本,并从微软官网下载安装SDK。配置项目时,确保目标版本支持SDK,添加SDK引用后即可使用新API提升应用体验。开发过程中应充分利用调试工具进行测试,确保应用的兼容性和稳定性。
|
4月前
|
存储 弹性计算 监控
建设云上稳定性问题之为什么要在云效平台创建发布流水线并将源代码编译环节替换为从OSS下载构建部署物
建设云上稳定性问题之为什么要在云效平台创建发布流水线并将源代码编译环节替换为从OSS下载构建部署物
|
4月前
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
编解码 开发工具 C#
[大牛直播SDK]Windows平台RTMP直播推送模块功能设计
大牛直播SDK采用全自研框架,具备高度可扩展性与自适应算法,显著降低延迟并提高采集编码效率。SDK以模块化设计,支持RTMP推流及多种音视频编码格式(如AAC、SPEEX、H.264、H.265),并能与播放器SDK组合实现丰富功能,包括流媒体转发、内置RTSP服务等。提供了详尽的参数配置选项,支持多摄像头、屏幕采集与水印叠加,并兼容Windows 7及以上操作系统。该SDK以C++/C#双接口形式提供,集成简便,同时包含调试与发布版本库,便于开发者快速上手。此外,支持断网重连、实时预览及多种编码前后的数据对接需求。
|
3月前
|
移动开发 JavaScript Java
windows7下安装配置phonegap3.0 (cordavo)开发环境 (涉及android sdk配置)
windows7下安装配置phonegap3.0 (cordavo)开发环境 (涉及android sdk配置)
|
6月前
|
安全 Go 开发工具
对象存储OSS产品常见问题之go语言SDK client 和 bucket 并发安全如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
133 9
|
6月前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
213 9
|
3月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
79 0

相关产品

  • 对象存储