PHP ошибка отображения удаления всего другого контента - PullRequest
2 голосов
/ 22 октября 2009

На сервере разработки здесь была изменена настройка, из-за которой любая ошибка PHP (любого уровня) выводит только сообщение об ошибке и ничего больше. Чтобы продемонстрировать, что я имею в виду, вот скрипт для воспроизведения ошибки:

<?php
$array = array('a');
echo "Hello world";
echo $array[1];
echo $array[2];
echo "Goodbye world";
?>

Что бы я ожидал от этого, это «Hello world», затем два PHP-уведомления о том, что в массиве было неопределенное смещение, а затем «Goodbye world». Что я на самом деле вижу, это:

PHP Notice:  Undefined offset:  1 in /path/to/myfile.php on line 4
PHP Notice:  Undefined offset:  2 in /path/to/myfile.php on line 5

... и ничего больше. (Также обратите внимание, что это обычный текст, а не HTML). Конечно, я мог бы установить error_reporting(0), но тогда я не вижу никаких ошибок.

Кто-нибудь знает, какие настройки PHP будут контролировать это?

Ответы [ 2 ]

1 голос
/ 22 октября 2009

Я предполагаю, что выходная буферизация включена. Попробуйте:

<?php
$array = array('a');
echo "Hello world";
ob_flush();
echo $array[1];
echo $array[2];
echo "Goodbye world";
?>
0 голосов
/ 22 октября 2009

Вам нужно отключить предупреждения и просто получить фатальные ошибки. Это должно сделать это:

сообщение об ошибке (E_ERROR | E_WARNING | E_PARSE);

или это:

сообщение об ошибке (E_ERROR | E_PARSE);

метод сообщения об ошибках принимает здесь целое число, а символ канала поразрядно или объединяет их базовые целочисленные значения для достижения окончательного целого числа, переданного функции.

http://74.125.155.132/search?q=cache:QvgitR0nX34J:php.net/manual/en/function.error-reporting.php+php+fatal+error+reporting&cd=1&hl=en&ct=clnk&gl=us

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...