почему aws.phar запускается один раз, а потом не загружается снова?

Я устанавливаю aws sdk для php в своем приложении эластичного бобового стебля, используя файл phar:

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

Как решить проблему ?

8

Решение

Не использовать require_once, Это вызывает эту проблему. Вы должны использовать require или же include

5

Другие решения

Кажется, в некоторых версиях файла aws.phar произошла ошибка, которая вызывает такое поведение и предупреждающее сообщение.

Предупреждение: require (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 / доли / груша: / USR / доли / PHP ‘)

Я экспериментировал с той же проблемой, используя aws.phar с версией 2.7.17 AWS SDK для PHP

Решение, которое работало для меня, заключалось в том, чтобы загрузить и извлечь версию AWS SDK для PHP на aws.zip и вместо этого потребовать файл aws-autoloader.php, как описано в документации по установке.

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

Некоторые люди сообщают об успехе при использовании версии AWS 2.4.10 (aws.phar), но это слишком старо для моих целей.

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

1

Чтобы решить проблему, я установил SDK, используя композитор! Кстати, это рекомендуемая техника!

0

Попробуйте отключить opcache

  • добавьте следующее в /etc/php5/apache2/php.ini opcache.enable=0
  • перезапустить Apache service apache2 restart

Это знать проблему по крайней мере, с более старыми версиями aws.phar и, кажется, общая проблема с phars и opc (ранее Zend Optimizer +)

0

Убедитесь, что вы объявляете все использование пространства имен в верхней части файла, прежде чем выполнять команду «require». Если вы сначала включите файлы, это может испортить пространство имен. Это исправило проблему для меня.

0
По вопросам рекламы [email protected]