Гипотетический вопрос для всех вас, чтобы жевать ...
Я недавно ответил на другой вопрос, так где, когда скрипт PHP был SegFaulting, и он напомнил мне о чем-то, что я Всегда задавался вопросом, так что давайте посмотрим, сможет ли кто-нибудь пролить свет на него.
Рассмотрим следующее:
<?php
function segfault ($i = 1) {
echo "$i\n";
segfault($i + 1);
}
segfault();
?>
Очевидно, это (бесполезные) функциональные петли бесконечно бесконечно. И в конце концов, покончит из памяти, потому что каждый вызов функции выполняется до того, как предыдущий закончил. Вроде как вилочная бомба без погружения.
Но ... в конце концов, на POSIX платформах, скрипт умрет с SIGSEGV (он также умирает в Windows, но более изящно - насколько моя чрезвычайно ограниченная навыки отладки низкого уровня). Количество петлей варьируется в зависимости от конфигурации системы (память, выделенная PHP, 32-битным / 64битом и т. Д.) И ОС, но мой реальный вопрос - почему это происходит с SegFault?