У меня есть приложение Laravel 4.2, работающее на Google App Engine (стандартный Env), и каждую минуту или около того я получаю 500 с записью следующей ошибки. Запросы - это небольшие объекты, возвращаемые из БД.
Есть идеи, почему это было так спорадически? Я не вижу ничего, что указывало бы на ошибку на конкретный метод / маршрут. Я новый пользователь GAE, и я очень благодарен за любую помощь. Спасибо!
PHP Warning: PHP Startup: Unable to load dynamic library '/base/alloc/tmpfs/dynamic_runtimes/php55_dynamic/230a19aa4cd01ca1/modules/mcrypt.so' - /base/alloc/tmpfs/dynamic_runtimes/php55_dynamic/230a19aa4cd01ca1/modules/mcrypt.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP.INI:
google_app_engine.enable_functions = "php_sapi_name, php_uname, getmypid, set_time_limit"
output_buffering = on
allow_url_include=1
extension = "mcrypt.so"
extension = "curl.so"
allow_url_fopen = On
Я использую среду выполнения: php55 (app.yaml) - они не поддерживают 7 в стандартном env. cloud.google.com/appengine/docs/standard/php
Иногда я получаю ту же ошибку в моем локальном env (dev_appserver.py). (Предупреждение PHP: запуск PHP: невозможно загрузить динамическую библиотеку '/Users/billtaylor/google-cloud-sdk/platform/php55/mcrypt.so')






Если вы посмотрите в официальная документация, вы увидите, что mcrypt предварительно установлен и включен в системе. Таким образом, вам не нужно включать extension = "mcrypt.so" в ваш php.ini, и простое его удаление должно сделать всю работу.
Пожалуйста, посмотрите также поток переполнения стека Не удается включить расширения PHP на php.ini в App Engine для Laravel.
Большое спасибо. Похоже, мне нужно только объявить это расширение в моем локальном dev_appserver и удалить его для производства. Ваше здоровье!!
Какую версию PHP вы используете?
mycryptобъявлен устаревшим в PHP 7.2 (и активно не рекомендуется, начиная с PHP 7.0). Проверьте libsodium для ваших потребностей в шифровании PHP: php.net/manual/en/book.sodium.php