Я обнаружил, что одной из распространенных причин ошибки является исключение, создаваемое обработчиком исключений . Я совершенно уверен, что этого не происходит в приложении, которое я пытаюсь отлаживать... Но я поместил все строки обработки инициализации вверху index.php в try/catch.*
Очевидно, это также может произойти, потому что некоторые вещи нельзя сериализоватьдля сохранения в сеансе . В лучшем случае это приложение хранит массивы в сеансе (совсем немного ), но я уверен, что оно не хранит в нем ничего слишком необычного.
Кто-то заметил, что это случилось с ними, потому что их первичный ключ должен был быть CHAR (32 )вместо INT (11). ПК в этом приложении все INT.
Другие предположения заключаются в том, что это может быть проблема с PHP 5.3.3 , исправленной в 5.3.6 , полный диск , и необходимо преобразовать Значение SimpleXML . У нас действительно работает PHP 5.3.3, но в этом случае обновление должно быть последним средством. Он не всегда делал это.
ОБНОВЛЕНИЕ/ПРИМЕЧАНИЕ :На самом деле я не могу воспроизвести ошибку сам, только вижу, что это происходит в журналах, см. абзац ниже, где я считаю, что ошибка происходит...
*Из журналов ошибок кажется вероятным, что это происходит по крайней мере в одном месте - index.php. Я вывожу это только потому, что в некоторых записях это указано ссылочным URL-адресом. Код try/catch в настоящее время находится только вокруг «верхней» части инициализации сценария, ниже которой в основном находится вывод HTML. В выводе (есть некоторый PHP-код, довольно простой материал ), поэтому мне может понадобиться его протестировать. Вот часть перехвата, которая не производит никакого вывода в журналы:
} catch (Exception $e) {
error_log(get_class($e)." thrown. Message: ".$e->getMessage(). " in ". $e->getFile(). " on line ".$e->getLine());
error_log('Exception trace stack: '. print_r($e->getTrace(),1));
}
Буду очень признателен за любые советы по этому поводу!
РЕДАКТИРОВАТЬ :PHP работает как модуль Apache (Серверный API :Обработчик Apache 2.0 ).Я не думаю, что используются какие-либо ускорители PHP, но, может быть, я просто не знаю, как сказать. Ни один из , перечисленных в Википедии , не находится в phpinfo ().
Насколько я могу судить, MPM является префорком. Я впервые заглянул в MPM:
#./httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c