Intereting Posts
Пользовательская ошибка 403 Страница PHP Заказ коллекции Doctrine на основе связанного объекта, когда невозможно использовать аннотацию @orderBy Добавить дочерний элемент в xml на основе атрибута родительского узла в php PHP – регулярное выражение. Заменить любое место в цитате с помощью подчеркивания? Можно ли использовать array_push в массиве SESSION в php? Как отправить несколько значений полей ввода с использованием метода ajax post Хорошая библиотека PHP ORM? Как отправить запрос XML-мыла с помощью php curl Переименование функций во время выполнения в PHP Получить параметр url и вставить в базу данных Как я могу реализовать OCR на веб-сайте с помощью PHP? PHP – преобразование всех ошибок в исключения – хорошее или плохое? Как я могу выбрать все данные из таблицы с условием? Ошибка при отправке электронной почты на GoDaddy Server: Laravel 5.1 Тестирование узловых модулей Slim Framework

Ошибка сегментации PHP, вызванная php while loop

Я обнаружил способ сделать php segfault, и мне немного любопытно, что происходит. Может быть, кто-то может объяснить это мне?

joern@xps:..com/trunk5/tools/nestedset> cat > while.php <?php while(1){ die('dd'); } ?> ^C 0 joern@xps:..com/trunk5/tools/nestedset> php -f while.php ddzsh: segmentation fault php -f while.php 0 joern@xps:..com/trunk5/tools/nestedset> php -f while.php dd% 0 joern@xps:..com/trunk5/tools/nestedset> php -f while.php dd% 0 joern@xps:..com/trunk5/tools/nestedset> php -f while.php ddzsh: segmentation fault php -f while.php 0 joern@xps:..com/trunk5/tools/nestedset> php -f while.php ddzsh: segmentation fault php -f while.php 0 joern@xps:..com/trunk5/tools/nestedset> php -f while.php dd% 0 joern@xps:..com/trunk5/tools/nestedset> php -f while.php dd% 

Как вы можете видеть, это происходит не каждый раз. Php кэширование?

 php5 5.2.10.dfsg.1-2ubuntu6.1 

    Википедия: ошибка сегментации

    Немногие исследования указывают на то, что некоторые расширения PHP могут играть не очень хорошо или не могут играть хорошо друг с другом. Он также может зависеть от сервера или конфигурации сервера.

    Если вы одновременно используете оба XDebug и Zend Debugger, они могут вызвать это.

    Сначала я подумал, что возможно, цикл while, используемый с выражением die (), может быть частью причины .. Мне любопытно узнать, вызывает ли это также и ошибку сегментации:

     while (!$fault) { $fault=check_fault_function(); } if ($fault) { die('dd'); } 

    Если нет, это может быть то, как вы используете пока и умереть вместе. Как вы знаете, в то время как (1) {} представляет собой бесконечный цикл … (ваш сервер может не знать, как распределять память для бесконечных процедур), поэтому, если вы не пытаетесь вызвать сбои, это, как правило, плохая практика.

    Это, похоже, связано с известной ошибкой в ​​источнике PHP. Это было исправлено в багажнике PHP, и похоже, что он был выпущен некоторое время вокруг выпуска 5.2.11. Подробнее см. Здесь и здесь .