PHP max _время выполнения _без тайм-аута

Это не один из регулярных вопросов, если сон считается за тайм-аут или что-то в этом роде. Хорошо, вот проблема :Я установил максимальное _время выполнения _для 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 , но я не уверен, что хочу попробовать это. Любые другие предложения?

5
задан Community 23 May 2017 в 12:17
поделиться