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
- phpstudy(phpfpm)+php8+debug3+vscode && php-cli的debug打斷點除錯安裝PHPVSCode斷點除錯
- Electron 應用除錯指南除錯
- Flutter 應用程式除錯Flutter除錯
- 使用PHP內建web伺服器,實現簡單的除錯應用PHPWeb伺服器除錯
- Laravel Telescope:優雅的應用除錯工具Laravel除錯
- 做一個可除錯的Android應用除錯Android
- 【譯】使用 ndb 除錯 node 應用除錯
- 在Intellij IDEA下用X-debug除錯PHPIntelliJIdea除錯PHP
- vscode 使用 PHP debug 除錯VSCodePHP除錯
- Xcode動態除錯原理XCode除錯
- 遠端除錯在Linux車機中的應用除錯Linux
- ubuntu& phpstorm & xdebug 除錯 phpUbuntuPHPORM除錯
- 初略講解如何除錯Flutter應用除錯Flutter
- 【PHP】XDebug+VS Code除錯PHP頁面PHP除錯
- c 語言除錯方法(除錯 PHP 底層、擴充套件)除錯PHP套件
- Idea進行java應用的遠端除錯Remote debuggingIdeaJava除錯REM
- 10.0 探索API除錯事件原理API除錯事件
- 移動公眾號、輕應用除錯地址除錯
- 使用 sentry 除錯應用和監控異常除錯
- 使用 Eclipse 遠端除錯 Java 應用程式(mark)Eclipse除錯Java
- 使用 pprof 和 Flame-Graph 除錯 Golang 應用除錯Golang
- VS code中斷點除錯Vue CLI 3專案斷點除錯Vue
- Spring Boot Serverless 實戰 | Serverless 應用的監控與除錯Spring BootServer除錯
- VisualStudio 如何 SSH 遠端除錯 Linux 的 dotnet 應用的啟動除錯Linux
- 深入理解Android逆向除錯原理Android除錯
- Docker PHP 配置 VS Code Xdebug PHP 除錯工具: Xdebug for DockerDockerPHP除錯
- cobra-強大的CLI應用程式庫
- 如何遠端除錯部署在CloudFoundry平臺上的nodejs應用除錯CloudNodeJS
- PHP、TP6框架及JavaScript的單步除錯PHP框架JavaScript除錯
- 使用Eclipse進行PHP的伺服器端除錯EclipsePHP伺服器除錯
- Android 除錯實戰與原理詳解Android除錯
- cli原理解析
- 在IntelliJ idea中使用docker除錯Spring Boot應用程式IntelliJIdeaDocker除錯Spring Boot
- iOS 逆向 - 重籤應用除錯與程式碼修改 (Hook)iOS除錯Hook
- 安卓應用效能除錯和優化經驗分享安卓除錯優化
- Ubuntu下開啟php除錯模式報錯如何解決UbuntuPHP除錯模式