8

我使用 phar 文件在我的弹性 beanstalk 应用程序中安装 aws sdk for php,:

require_once __DIR__ . '/../AWS-SDK/aws.phar';

当我第一次运行脚本时,它成功了!但是当我再次尝试时,我得到了这个错误:

Warning: require(phar://aws.phar/aws-autoloader.php): failed to open stream: phar error: invalid url or non-existent phar "phar://aws.phar/aws-autoloader.php" in /var/app/current/src/utils/AWS-SDK/aws.phar on line 3 Fatal error: require(): Failed opening required 'phar://aws.phar/aws-autoloader.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/app/current/src/utils/AWS-SDK/aws.phar on line 3

如何解决问题?

4

5 回答 5

5

不要使用require_once. 这导致了这个问题。您应该使用requireinclude

于 2015-08-13T19:09:38.127 回答
1

导致此行为和警告消息的某些版本的 aws.phar 文件似乎存在错误。

警告:要求(phar://aws.phar/aws-autoloader.php):无法打开流:phar 错误:url 无效或不存在 phar“phar://aws.phar/aws-autoloader.php” /var/app/current/src/utils/AWS-SDK/aws.phar 在第 3 行致命错误:require():无法打开所需的“phar://aws.phar/aws-autoloader.php”(include_path=' .:/usr/share/pear:/usr/share/php')

我正在使用 AWS SDK for PHP 版本 2.7.17 的 aws.phar 试验同样的问题

对我有用的解决方案是下载并提取适用于 PHP 的 AWS 开发工具包的 aws.zip 版本,并需要 aws-autoloader.php,如安装文档中所述。

http://docs.aws.amazon.com/aws-sdk-php/guide/latest/installation.html#installing-via-zip

有些人在使用 2.4.10 版本的 AWS (aws.phar) 时报告成功,但这对我来说太旧了。

https://pyd.io/f/topic/pydio-6-0-s3-plugin-phar-error/

于 2015-02-12T12:12:57.397 回答
1

尝试关闭 opcache

  • 将以下内容添加到 /etc/php5/apache2/php.iniopcache.enable=0
  • 重启阿帕奇service apache2 restart

至少对于旧版本的 aws.phar 来说,这是一个已知问题,而且 phars 和 opc(以前的 Zend Optimizer+)似乎存在一个普遍问题

于 2015-08-19T22:14:56.810 回答
0

解决我使用composer安装sdk的问题!顺便说一句,这是推荐的技术!

于 2015-01-22T10:37:56.870 回答
0

确保在“要求”之前在文件顶部声明所有命名空间的使用。如果您首先包含文件,则可能会弄乱命名空间。这为我解决了这个问题。

于 2015-09-08T21:25:20.790 回答