Я вижу следующие ошибки в своих журналах ошибок PHP:
PHP Fatal error: Maximum execution time of 60 seconds exceeded in D:\sites\s105504\www\index.php on line 3
PHP Fatal error: Maximum execution time of 60 seconds exceeded in D:\sites\s105504\www\search.php on line 4
Рассматриваемые строки:
index.php:
01 <?php
02 session_start();
03 ob_start();
04 error_reporting(E_All);
05 $_SESSION['nav'] = "range"; // <-- Error generated here
search.php
01 <?php
02
03 session_start();
04 $_SESSION['nav'] = "range";
05 $_SESSION['navselected'] = 21; // <-- Error generated here
Действительно потребовались бы целых 60 + секунды для присвоения a $_SESSION[]
значение?
Платформа:
Нет никаких проблем с файлами данных сессии, разрешаемыми на сервере, поскольку сессии истекают. Самое старое sess_XXXXXXXXXXXXXX
файл, который я вижу, составляет приблизительно 2 старые часа.
Нет никаких дисковых тайм-аутов, очевидных, в конечном счете регистрируется или другие такие дисковые проблемы со здоровьем, которые могли бы предложить файлы данных сессии создания трудности.
Сайт находится также на сервере, который не находится под большой нагрузкой. Сайт является оживленным, но не кует и является очень быстро реагирующим. Это просто, что мы получаем эти ошибки, три или четыре подряд, каждые три или четыре часа.
Я должен также добавить, что я не исходный разработчик этого кода и что он принадлежит клиенту, который является разработчиком, давно отбыл.
Сеансы блокируются. session_start ()
будет блокировать выполнение до тех пор, пока не получит эксклюзивную блокировку для этого конкретного файла сеанса. Это сделано для предотвращения возникновения проблем с параллелизмом. Вы можете решить эту проблему, выполнив session_write_close ()
, когда вы закончите сеанс в каждом скрипте.Причина, по которой вы видите это в следующей строке, - это session_start ()
блоков для> максимального времени выполнения. Поэтому, когда он возвращается, следующая строка выполняется после ограничения по времени, поэтому возникает ошибка.
См .: session_write_close () для получения дополнительной информации
О, и на основании опубликованных вами ошибок ошибка генерируется в ob_start ();
и ] $ _ SESSION ['nav'] = "range";
строки соответственно, а не строка 5, которую вы указали в разделе кода ...