2011-02-11 2 views
2

Я пытаюсь заставить PHP отображать ошибки с синтаксисом и т. Д. Во время разработки в OSX.Отображать ошибки php на osx

Я отредактировал свой php.ini следующим образом;

display_errors = On 
error_reporting = E_ALL 

Однако я все еще не могу получить ошибки для отображения. Я просто застрял с пустой страницей. Это происходит даже с простейшей из страниц;

<?php 

echo "ook" 

?> 

Это должно вызвать ошибку.

Я был бы признателен, если у кого есть идеи по устранению этого вопроса. Я определенно отредактировал правильный php.ini, потому что файл phpinfo говорит мне об этом.

+2

, который не выдает ошибки http://codepad.org/9XJYtZab – kjy112

+0

не должен ли это говорить, что точка с запятой отсутствует? – doubleplusgood

+0

theres no error ... –

ответ

1

Так что я выяснил, в чем проблема. Мой файл phpinfo говорил мне, что я использую php.ini, поэтому, конечно, я редактировал это. Я обнаружил, что в той же папке был также файл php.ini.default. Я удалил этот файл, и теперь отображаются ошибки. :)

1

Если синтаксис скрипта недействителен, вы можете получить белый экран смерти вместо ошибки. Когда вы тестируете отчет об ошибках, попробуйте другую ошибку, например, деление на ноль.

Ваша линия php.ini должна читать error_reporting = E_ALL, между прочим. display_errors должен быть равен 0 или 1.

Редактировать: Ой! Исправлена ​​фактическая ошибка.

+0

display_errors должен быть включен или выключен, в соответствии с возможными значениями php – doubleplusgood

+0

Собственно, начиная с PHP 5.2.4, значение может быть либо 'Off' (' 0'), 'On' (' 1'), либо 'stderr' , http://php.net/errorfunc.configuration –

2

Я также хотел бы заявить, что PHP конечный тег (?>) считается явной точкой с запятой (;) ...

Следующий скрипт действует:

<?php 
echo "Hello"; 
echo "There" 
?> 

В то время как следующее:

<?php 
echo "Hello"; 
echo "There" 
+0

Итак, если я ввел второй фрагмент кода на страницу, должен ли я увидеть ошибку? Поскольку я просто получаю пустую страницу. :( – doubleplusgood

+0

@Neil: Второй фрагмент кода должен отображаться с ошибкой. Вы перезапустили Apache после изменения файла 'php.ini'? –

+0

У вас установлены php и apache или вы используете по умолчанию osx? – kjy112

1

У меня была довольно глупая проблема, с которой может столкнуться и кто-то другой. В моей php.ini я написал случайно:

error_reporting = E_ALL & E_STRICT 

вместо:

error_reporting = E_ALL | E_STRICT 

Какой была фильтрация всех сообщений об ошибках. Я взял пару минут, чтобы найти эту глупую ошибку. Надеюсь, я смогу спасти чужое время;).

0

Там нет требования для запятой (;) для последней строки в PHP, это не ошибка, как следующий код не имеют ошибок из-за отсутствующую запятую:

<?php echo 'test' ?> 

Или

<?=$x ?> 

Или

<?php 

echo "test code" 
?> 

Или

<?php 

echo "Test Code" 
Смежные вопросы