欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP CLI应用的调试原理 EclipsePHP调试Debugging 

程序员文章站 2022-05-25 14:54:09
...

我们在Eclipse里选中一个PHP文件,右键选择Debug As->PHP CLI Application。

 
PHP CLI应用的调试原理
            
    
    
        EclipsePHP调试Debugging 
 
PHP CLI应用的调试原理
            
    
    
        EclipsePHP调试Debugging 

所谓CLI应用,是指这种脚本文件不需要任何Web服务器即可运行,当然, PHP运行时还是需要的。

我们在弹出的debug窗口里看到了XDebug:

 
PHP CLI应用的调试原理
            
    
    
        EclipsePHP调试Debugging 

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应用的调试原理
            
    
    
        EclipsePHP调试Debugging 

那么Eclipse?

使用任务管理器查看,当我用Eclipse调试PHP CLI应用时,出现了一个PHP.exe进程:

 
PHP CLI应用的调试原理
            
    
    
        EclipsePHP调试Debugging 

命令提示行:

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应用的调试原理
            
    
    
        EclipsePHP调试Debugging 

虽然有70多k,但是绝大多数是分号开头的注释,只有最后几行才是有效信息:

 
PHP CLI应用的调试原理
            
    
    
        EclipsePHP调试Debugging 

希望本文对大家理解Eclipse里使用XDebug进行PHP CLI应用的调试原理有所帮助。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

 

 
PHP CLI应用的调试原理
            
    
    
        EclipsePHP调试Debugging 
 
PHP CLI应用的调试原理
            
    
    
        EclipsePHP调试Debugging