PHP CLI應用的除錯原理
我們在Eclipse裡選中一個PHP檔案,右鍵選擇Debug As->PHP CLI Application。
所謂CLI應用,是指這種指令碼檔案不需要任何Web伺服器即可執行,當然, PHP執行時還是需要的。
我們在彈出的debug視窗裡看到了XDebug:
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的位置:
那麼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的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2214252/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何使用Visual Studio Code除錯PHP CLI應用和Web應用除錯PHPWeb
- 使用Eclipse除錯PHP應用Eclipse除錯PHP
- .NET應用程式除錯—原理、工具、方法除錯
- .NET應用程式除錯:原理、工具、方法除錯
- Flutter 應用程式除錯Flutter除錯
- Electron 應用除錯指南除錯
- Windbg在應用層除錯漏洞時的應用除錯
- 使用PHP內建web伺服器,實現簡單的除錯應用PHPWeb伺服器除錯
- phalcon的CLI應用
- windows下php cli模式,提示出錯WindowsPHP模式
- ucenter與其它應用結合時出現通訊失敗,ucenter應用原理與除錯除錯
- Laravel Telescope:優雅的應用除錯工具Laravel除錯
- 第一個Java卡應用的除錯Java除錯
- 【譯】使用 ndb 除錯 node 應用除錯
- 如何除錯Android Wear 應用除錯Android
- ***php除錯總結PHP除錯
- 用DBGPavim在Vim中除錯PHP/Python程式除錯PHPPython
- 做一個可除錯的Android應用除錯Android
- Win32除錯API的另類應用Win32除錯API
- phpstudy(phpfpm)+php8+debug3+vscode && php-cli的debug打斷點除錯安裝PHPVSCode斷點除錯
- PHP 除錯利器之 PHPDBGPHP除錯
- Android通過Wifi來除錯你的應用AndroidWiFi除錯
- 快速上手php:使用PhpStrom除錯phpPHP除錯
- 偵錯程式工作原理(三):除錯資訊除錯
- 偵錯程式工作原理(3):除錯資訊除錯
- 初略講解如何除錯Flutter應用除錯Flutter
- 通過終端除錯 AngularJS 應用除錯AngularJS
- Xcode動態除錯原理XCode除錯
- 遠端除錯在Linux車機中的應用除錯Linux
- VS code中斷點除錯Vue CLI 3專案斷點除錯Vue
- c 語言除錯方法(除錯 PHP 底層、擴充套件)除錯PHP套件
- Websphere Adapter 中錯誤處理的原理與應用WebAPT
- 使用 pprof 和 Flame-Graph 除錯 Golang 應用除錯Golang
- 使用 Eclipse 遠端除錯 Java 應用程式Eclipse除錯Java
- 在MyEclipse中用debug除錯應用程式Eclipse除錯
- [android]使用jdb除錯android應用程式Android除錯
- 移動公眾號、輕應用除錯地址除錯
- ViewChaos我的UI除錯之道(原理篇)ViewUI除錯