Как помешать сценарию PHP испытывать таймаут из-за долгого запроса mysql

Это классический простой вопрос grep.

$command -someoptions | grep 'line 4' >> output.txt

Вы можете уточнить это с большей сложностью шаблона, и вам может понадобиться это в зависимости от того, насколько точно вам нужно сопоставить данные.

12
задан Ken 13 December 2008 в 18:38
поделиться

5 ответов

Я имел ту же проблему где-нибудь и "решил" ее со следующим кодом (сначала две строки моего файла):

set_time_limit(0);
ignore_user_abort(1);
34
ответ дан 2 December 2019 в 03:43
поделиться

Согласно руководству:

Примечание: set_time_limit () функция и конфигурационная директива max_execution_time только влияют на время выполнения самого сценария. Любое время потратило на действие, которое происходит вне выполнения сценария, такого как системные вызовы с помощью системы (), операции с потоками, запросы базы данных, и т.д. не включен при определении максимального времени, когда сценарий работал.

Таким образом, это вряд ли будет иметь какое-либо отношение к ограничению по времени PHP. Какое сообщение Вы получаете, когда оно испытывает таймаут? Возможно, существует включенная установка MySQL.

4
ответ дан 2 December 2019 в 03:43
поделиться

Ваш php работает в безопасном режиме? Кавычка из руководства PHP set_time_limit:

Эта функция не имеет никакого эффекта, когда PHP работает в безопасном режиме. Нет никакого обходного решения кроме выключения безопасного режима или изменения ограничения по времени в php.ini.

2
ответ дан 2 December 2019 в 03:43
поделиться

Принятие Вы находитесь на Linux, Debian, базировалось, системы имеют отдельные конфигурации для mod_php/php cgi и php-cli. Это не должно быть слишком трудно для установки в другой системе Linux, которая не разделяет cgi/cli конфигурацию.

После того как у Вас есть отдельные конфигурации, я скорректировал бы Ваш php cli конфигурация. Отключите безопасный режим и любые ограничения по времени и пределы поршня.

0
ответ дан 2 December 2019 в 03:43
поделиться

Проверьте некоторые предельные переменные ресурса в php, ini: max_execution_time, max_input_time, memory_limit

Вы могли также установить ограничение по времени для сценария в самом PHP: http://ca3.php.net/set_time_limit

0
ответ дан 2 December 2019 в 03:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: