Почему Xdebug выдает ошибку для файла, который включен, не требуется

Я использую сервер LAMP на Ubuntu 9.04(версия для настольных компьютеров). Я очень новичок в Ubuntu, поэтому я сделал большую часть этого через Synaptic Packet Manager. Затем я удалил php5-common и просто установил php5 через: apt-get install php5
Мой отчет об ошибках настроен на: error_reporting = E_ALL & ~E_NOTICE

Я установил Xdebug и вставил следующее в мой файл php.ini.

zend_extension=/usr/lib/php5/20060613/xdebug.so

[debug]
; Remote settings
xdebug.remote_autostart=off
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000

; General
xdebug.auto_trace=off
xdebug.collect_includes=on
xdebug.collect_params=off
xdebug.collect_return=on
xdebug.default_enable=on
xdebug.extended_info=1
xdebug.manual_url=http://www.php.net
xdebug.show_local_vars=0
xdebug.show_mem_delta=0
xdebug.max_nesting_level=100
;xdebug.idekey=

; Trace options
xdebug.trace_format=0
xdebug.trace_output_dir=/tmp
xdebug.trace_options=0
xdebug.trace_output_name=crc32

; Profiling
xdebug.profiler_append=0
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=0
xdebug.profiler_output_dir=/tmp
xdebug.profiler_output_name=crc32

Теперь для определенного проекта у меня есть следующая строка кода на моих страницах:

include_once(something.php);

Теперь что-то.php не существует. Поскольку он включен и не требуется, я ожидаю, что ошибок не будет, но XDebug выдает сообщение об ошибке. Кто-нибудь знает, как помочь?

3 ответа

Решение

Это не то, что Xdebug меняет. Вы бы получили предупреждение и с простым PHP.

Дерик

Он должен выдавать предупреждение, тогда как require_once выбрасывает фатальный.

Вы можете взломать это, выполнив:

@include_once('something.php');

Однако это плохая практика.

Альтернатива - явно проверить, существует ли файл, но это не сработает, если вы не извлечете все пути включения и не проверьте, существует ли файл в каждом из них.

Я думаю, что из коробки xdebug покажет вам больше ошибок, чем php, но я просто суеверен.

Иногда выдает ошибку только при полной луне.

Другие вопросы по тегам