我正在尝试在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
答案 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.phar
和aws.zip
。要使用官方aws.zip
,请参阅AWS SDK for PHP用户指南中的Installing from the Zip。