Сбит с толку: PHP фатальная ошибка: исключение, выбрасываемое без фрейма стека в поле Unknown в строке 0?
Я обнаружил, что одной из распространенных причин ошибки является исключение выдается из обработчика исключения. Я совершенно уверен, что этого не происходит в приложении, которое я пытаюсь отладить ... Но я поместил все строки обработки инициализации в начало index.php в try / catch. *
Видимо, это тоже может произойти, потому что некоторые вещи нельзя сериализовать чтобы быть сохраненным в сеансе. Самое большее, это приложение хранит массивы в сессии (совсем немного), но я уверен, что оно не хранит в нем ничего необычного.
Кто-то заметил, что это случилось с ними, потому что их первичный ключ должен быть CHAR (32) вместо INT (11). ПК в этом приложении все INTs.
Другие предположения, что это может быть проблема сPHP 5.3.3 исправлено в 5.3.6, полный диск и нужно, чтобы ввести значение SimpleXML. Мы используем PHP 5.3.3, но в этом случае обновление должно быть последним средством. Так было не всегда.
ОБНОВЛЕНИЕ / ПРИМЕЧАНИЕ: я на самом деле не могу воспроизвести ошибку самостоятельно, только вижу, что это происходит в журналах, см. Ниже параграф, где я Верю ошибка происходит ...
* Из журналов ошибок кажется вероятным, что по крайней мере одно место, где это происходит, - index.php. Я делаю это только потому, что это указано в некоторых записях по ссылке URL. Код try / catch в настоящее время находится только вокруг «верхней» части инициализации скрипта, ниже которой в основном вывод HTML. В выводе есть некоторый PHP-код (хотя и довольно простой), поэтому мне может понадобиться проверить это. Вот часть catch, которая не выдает никаких результатов в журналах:
<code>} 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)); } </code>
Буду очень признателен за подсказки!
EDIT: PHP работает как модуль Apache (Серверный API: Обработчик Apache 2.0). Я не думаю, что используются какие-либо ускорители PHP, но я просто не знаю, как это сказать. Ни один из них включен в Википедию в phpinfo ().
Насколько я могу судить, MPM - это prefork. Это первый раз, когда я заглянул в MPM:
<code># ./httpd -l Compiled in modules: core.c prefork.c http_core.c mod_so.c </code>