PHP CLI應用的除錯原理

i042416發表於2018-09-16

我們在Eclipse裡選中一個PHP檔案,右鍵選擇Debug As->PHP CLI Application。

PHP CLI應用的除錯原理

PHP CLI應用的除錯原理

所謂CLI應用,是指這種指令碼檔案不需要任何Web伺服器即可執行,當然, PHP執行時還是需要的。

我們在彈出的debug視窗裡看到了XDebug:

PHP CLI應用的除錯原理

XDebug是PHP除錯的利器。在我的資料夾C:MyAppwampinphpphp5.5.12裡面有個php.ini配置檔案,檔案的末尾有這樣一個配置:

; XDEBUG Extension

zend_extension = "C:/MyApp/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll"

;

[xdebug]

xdebug.remote_enable = off

xdebug.profiler_enable = off

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的位置:

PHP CLI應用的除錯原理

那麼Eclipse?

使用工作管理員檢視,當我用Eclipse除錯PHP CLI應用時,出現了一個PHP.exe程式:

PHP CLI應用的除錯原理

命令提示行:

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檔案:

PHP CLI應用的除錯原理

雖然有70多k,但是絕大多數是分號開頭的註釋,只有最後幾行才是有效資訊:

PHP CLI應用的除錯原理

希望本文對大家理解Eclipse裡使用XDebug進行PHP CLI應用的除錯原理有所幫助。

要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:


PHP CLI應用的除錯原理

PHP CLI應用的除錯原理


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2214252/,如需轉載,請註明出處,否則將追究法律責任。

相關文章