Я устанавливаю 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
Как решить проблему ?
Не использовать require_once
, Это вызывает эту проблему. Вы должны использовать require
или же include
Кажется, в некоторых версиях файла 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), но это слишком старо для моих целей.
Чтобы решить проблему, я установил SDK, используя композитор! Кстати, это рекомендуемая техника!
Попробуйте отключить opcache
opcache.enable=0
service apache2 restart
Это знать проблему по крайней мере, с более старыми версиями aws.phar и, кажется, общая проблема с phars и opc (ранее Zend Optimizer +)
Убедитесь, что вы объявляете все использование пространства имен в верхней части файла, прежде чем выполнять команду «require». Если вы сначала включите файлы, это может испортить пространство имен. Это исправило проблему для меня.