Perché Xdebug genera un errore per un file che è incluso, non richiesto
-
18-09-2019 - |
Domanda
Sono in esecuzione server LAMP su Ubuntu 9.04 (edizione Desktop). Sono molto di nuovo da Ubuntu, così ho fatto la maggior parte di questo tramite Gestione Synaptic Packet. Ho quindi rimosso php5-comune e PHP5 appena installato tramite: apt-get install php5
La mia segnalazione degli errori è impostato su: error_reporting = E_ALL & ~E_NOTICE
Ho installato Xdebug e inserito il seguente nel mio file 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
Ora per un certo progetto, ho la seguente riga di codice nelle mie pagine:
include_once(something.php);
Ora, something.php non excist. Perché è inclusa e non richiesto, mi aspetto di vedere nessun errore, ma XDebug mi rende un rapporto di errore. Qualcuno sa come aiutare?
Soluzione
Uh, questo non è qualcosa che cambia Xdebug. Avresti ottenuto un avviso con PHP pianura pure.
Derick
Altri suggerimenti
Si dovrebbe lanciare un avvertimento, mentre require_once lancia un fatale.
È possibile hack in giro questo facendo:
@include_once('something.php');
Tuttavia, questo è il tipo di cattiva pratica.
L'alternativa è di controllare in modo esplicito se il file esiste, ma che non funzionerà a meno di estrarre tutti i percorsi comprendono e verificare se il file esiste in ciascuno di essi.
Credo che, fuori dalla scatola xdebug vi mostrerà più errori che php sarebbe, ma che sono solo io essendo superstitous.
A volte si getta solo un errore quando c'è la luna piena, anche.