8

установить AWS SDK для PHP в моем упругом приложении Beanstalk используя файл ФАР ,:Почему aws.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 

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

ответ

0

для решения проблемы I'v установил sdk с помощью композитора! Кстати, это рекомендуемая техника!

1

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

Предупреждение: require (phar: //aws.phar/aws-autoloader.php): не удалось открыть поток: phar error: неверный 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

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

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

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

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

+1

Ya, я не уверен, что вызывает это, но делает ссылку на ссылку sdk исправленной для нас. Странная часть заключалась в том, что мы работали отлично в течение нескольких месяцев, даже не меняли файл .phar, а затем ломались. – CasualT

5

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

+0

хорошо пункт. я попробую это. но как require_once эффекты. это не должно, не так ли? – david

+0

Нет, 'require_once' вызывает только один раз файл: http://php.net/manual/es/function.require-once.php. Я заметил, что вам нужно постоянно звонить в бутстрап aws, чтобы он работал. –

0

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

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

Этот является know issue, по крайней мере, с более старыми версиями aws.phar и, кажется, general issue с phars a nd opc (ранее Zend Optimizer +)

0

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

Смежные вопросы