Я был удивлен, когда я просто попытался следующий PHP код:PHP не обрабатывает переполнение стека?
function foo()
{
foo();
}
foo();
я ожидал, чтобы получить «500: Внутренняя ошибка сервера». Вместо этого соединение было немедленно закрыто (без байтов), а файлы журналов показывают, что apache segfaulted. WTF? Является ли это известной ошибкой в PHP? Есть ли какие-то параметры конфигурации, которые мне не хватает? Потому что разбитый процесс для каждого случайного переполнения стека, ну ... довольно неприемлемый, я думаю.
Вероятно компилятор видел, что ты там делал, и думал * о, мальчик, умное время ... оставьте меня в покое ... * –
Без сомнения. Тем более, что PHP не имеет компилятора. : p –
Я не думаю, что авария - это оптимизация. С другой стороны, как PHP должен обрабатывать что-то подобное более изящно? – innaM