Это не один из регулярных вопросов, если сон считается за тайм-аут или что-то в этом роде. Хорошо, вот проблема :Я установил максимальное _время выполнения _для PHP как 15 секунд, и в идеале это должно истечь время, когда оно пересекает установленный предел, но это не так. Apache был перезапущен после изменения файла php.ini, и ini _get («максимальное _время выполнения _» )все в порядке. Иногда скрипт работает до 200 секунд, что безумие. У меня нет никакой связи с базой данных. Все, что делает скрипт, это ищет файлы в файловой системе unix и в некоторых случаях перенаправляет -на другую страницу JSP. На скрипте нет сна ().
Я рассчитываю общее время выполнения PHP-скрипта следующим образом:
В начале скрипта я установил:
$_mtime = microtime();
$_mtime = explode(" ",$_mtime);
$_mtime = $_mtime[1] + $_mtime[0];
$_gStartTime = $_mtime;
и время окончания ($_gEndTime)вычисляется аналогично.
Общее время рассчитывается в функции выключения, которую я зарегистрировал :
register_shutdown_function('shutdown');
.............
function shutdown()
{
..............
..............
$_total_time = $_gEndTime - $_gStartTime;
..............
switch (connection_status ())
{
case CONNECTION_NORMAL:
....
break;
....
case CONNECTION_TIMEOUT:
....
break;
......
}
}
. Примечание:Я не могу использовать $ _SERVER['REQUEST _TIME'], потому что моя версия PHP несовместима. Это отстой -Я знаю.
1 )Итак, мой первый вопрос, очевидно, заключается в том, почему мой PHP-скрипт выполняется даже после установленного лимита времени ожидания?
2 )Apache имеет директиву Timeout, которая составляет 300 секунд, но двоичный файл PHP не читает конфигурацию Apache, и это не должно быть проблемой.
3 )Возможно ли, что что-то переводит PHP в спящий режим?
4 )Я неправильно рассчитываю время выполнения? Есть лучший способ это сделать?
Я в тупике в этот момент. Мастера PHP -, пожалуйста, помогите.
Изменить :Я только что узнал, что потоковые операции не являются причиной нескольких журналов. Задержка является случайной в сценарии, даже если потоковые операции не выполняются. Переключение контекста может быть просто причиной. Но у меня до сих пор нет четкого ответа. Я посмотрел Реальное максимальное _время выполнения _для PHP на Linux , но я не уверен, что хочу попробовать это. Любые другие предложения?