咱們在Eclipse裏選中一個PHP文件,右鍵選擇Debug As->PHP CLI Application。php
所謂CLI應用,是指這種腳本文件不須要任何Web服務器便可運行,固然, PHP運行時仍是須要的。服務器
咱們在彈出的debug窗口裏看到了XDebug:session
XDebug是PHP調試的利器。在個人文件夾C:MyAppwampinphpphp5.5.12裏面有個php.ini配置文件,文件的末尾有這樣一個配置:spa
; XDEBUG Extensionpwa
zend_extension = "C:/MyApp/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll"debug
;調試
[xdebug]進程
xdebug.remote_enable = offip
xdebug.profiler_enable = offrem
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "C:/MyApp/wamp/tmp"
xdebug.show_local_vars=0
這裏實際上就指明瞭XDEBUG的位置:
那麼Eclipse?
使用任務管理器查看,當我用Eclipse調試PHP CLI應用時,出現了一個PHP.exe進程:
命令提示行:
C:MyAppwampinphpphp5.5.12php.exe -n -c C:Usersi042416AppDataLocalTempphp-inisession2307282238017995350.tmpphp.ini -d asp_tags=off -d short_open_tag=on C:Usersi042416scp20180425 est ewfile.php
-n 選項:不使用全局的php.ini文件
-c 選項:使用-c後面指定的php.ini, 即C:Usersi042416AppDataLocalTempphp-inisession2307282238017995350.tmpphp.ini
-d 選項:臨時指定一個php.ini裏沒有的參數,即asp_tags=off
再看看這個我開始CLI調試後才臨時生成的php.ini文件:
雖然有70多k,可是絕大多數是分號開頭的註釋,只有最後幾行纔是有效信息:
但願本文對你們理解Eclipse裏使用XDebug進行PHP CLI應用的調試原理有所幫助。
要獲取更多Jerry的原創技術文章,請關注公衆號"汪子熙"或者掃描下面二維碼: