Amazon AWS SDK StreamWrapper PHP上的致命错误

时间:2014-08-07 20:57:54

标签: php amazon-web-services

我正在尝试在cPanel上安装Amazon AWS SDK StreamWrapper。

我的s3_Upload.php文件中包含此代码:

<?php         
require 'aws/aws.phar';

use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;

$s3Client= S3Client::factory(array(
    'key'    => "<key>",
    'secret' => "<secret_key>"
));

$s3Client->registerStreamWrapper();

$s3Bucket = '<bucket_name>';

$s3Path = 's3://'.$s3Bucket;

if (file_exists($s3Path.'/<folder>/clip.mp4')) {
    echo 'Clip exists!';
} else {
    echo 'Clip doesnt exists!';
}
?>

我同时拥有aws.phar文件和aws-sdk-php-master.zip的解压缩版本。

问题
每当我尝试转到www.example.com/s3_Upload.php时,都会写入错误

Fatal error: Class 'Phar' not found in /home/<user>/public_html/aws/aws.phar on line 17

1 个答案:

答案 0 :(得分:0)

您的PHP环境似乎缺少PHP / PECL的Phar class。这很奇怪,因为根据Phar Installation page,“Phar扩展在PHP版本5.3.0中构建在PHP中。”。

因此,您需要确保已安装Phar扩展程序,或者需要使用aws.zip

注意:aws.zip与您提到的aws-sdk-php-master.zip不同。我假设您只需从GitHub下载SDK源代码。该zip文件不包含任何SDK依赖项,如aws.pharaws.zip。要使用官方aws.zip,请参阅AWS SDK for PHP用户指南中的Installing from the Zip