PHP CLI应用的调试原理
我們?cè)贓clipse里選中一個(gè)PHP文件,右鍵選擇Debug As->PHP CLI Application。
所謂CLI應(yīng)用,是指這種腳本文件不需要任何Web服務(wù)器即可運(yùn)行,當(dāng)然, PHP運(yùn)行時(shí)還是需要的。
我們?cè)趶棾龅膁ebug窗口里看到了XDebug:
XDebug是PHP調(diào)試的利器。在我的文件夾C:MyAppwampinphpphp5.5.12里面有個(gè)php.ini配置文件,文件的末尾有這樣一個(gè)配置:
; 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
這里實(shí)際上就指明了XDEBUG的位置:
那么Eclipse?
使用任務(wù)管理器查看,當(dāng)我用Eclipse調(diào)試PHP CLI應(yīng)用時(shí),出現(xiàn)了一個(gè)PHP.exe進(jìn)程:
命令提示行:
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 選項(xiàng):不使用全局的php.ini文件
-c 選項(xiàng):使用-c后面指定的php.ini, 即C:Usersi042416AppDataLocalTempphp-inisession2307282238017995350.tmpphp.ini
-d 選項(xiàng):臨時(shí)指定一個(gè)php.ini里沒有的參數(shù),即asp_tags=off
再看看這個(gè)我開始CLI調(diào)試后才臨時(shí)生成的php.ini文件:
雖然有70多k,但是絕大多數(shù)是分號(hào)開頭的注釋,只有最后幾行才是有效信息:
希望本文對(duì)大家理解Eclipse里使用XDebug進(jìn)行PHP CLI應(yīng)用的調(diào)試原理有所幫助。
要獲取更多Jerry的原創(chuàng)技術(shù)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙".
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的PHP CLI应用的调试原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Eclipse进行PHP的服务器端调
- 下一篇: 动态规划算法php,php算法学习之动态