#php
#php
Вопрос:
Я получаю ошибку PHP «Превышено максимальное время выполнения 60 секунд», даже несмотря на то, что настройки max_execution_time и max_input_time в моем php.ini установлены на 180. Я также пытался заставить свой скрипт использовать set_time_limit(0);
и ini_set('max_execution_time', 180);
, но это не помогает. Я убедился, что используется правильный файл php.ini, проверил phpinfo()
вывод, все значения настроек соответствуют моим ожиданиям. Строка кода, выдающая ошибку, вызывает curl_exec(), поэтому я также пытаюсь добавить curl_setopt($ch, CURLOPT_TIMEOUT, 180);
и безуспешно, по-прежнему получая ту же ошибку 60-секундного тайм-аута. Заканчиваются идеи относительно того, какая другая настройка тайм-аута может быть причиной этого. Среда — Windows с PHP, работающим как модуль FastCGI.
Комментарии:
1. Возможно, основной вопрос, но вы не забыли перезапустить свой веб-сервер после внесения изменений в файл php.ini?
2. Я надеюсь, что после изменения в ini вы бы перезапустили сервер… Если нет, то, пожалуйста, перезапустите n проверьте. Должно быть, сработало написание set_time_limit(0).
3. Я сделал. Как я уже сказал, даже проверил в phpinfo (), чтобы убедиться, что значения были отражены, и они не были без перезапуска веб-сервера.
4. Работает ли это хотя бы в версии CLI? Также изменен fpm.ini? Модули Apache (например, mod_reqtimeout)? Настройки FastCGI -* timeout ? Что
ini_get("max_…
дает во время выполнения? Пробовал.user.ini
переопределить?5. @mario Спасибо, что наставил меня на правильный путь. Я запустил ini_get () именно там, где произошел сбой вызова, и это не дало ожидаемого значения. Я поискал еще немного и обнаружил, что в другом месте был фрагмент кода, который переопределял его. Проблема решена. Еще раз большое спасибо. Если вы хотите ввести ответ в духе выполнения ini_get(), где вызов завершается неудачно, и поиска других экземпляров ini_set() или set_time_limit() Я отмечу это как правильный ответ.
Ответ №1:
Запустите ini_get() именно там, где происходит сбой вызова, и посмотрите, дает ли это ожидаемое значение. Если нет, выполните поиск в своем коде чего-либо, переопределяющего ожидаемое значение.