资讯专栏INFORMATION COLUMN

PHP CLI应用的调试原理

wh469012917 / 2029人阅读

摘要:我们在里选中一个文件,右键选择。所谓应用,是指这种脚本文件不需要任何服务器即可运行,当然运行时还是需要的。我们在弹出的窗口里看到了是调试的利器。

我们在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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29565.html

相关文章

  • PHP xdebug 调试工具安装与使用

    摘要:目前有两种流行的调试器,我在学习和研究过程中,发现网上的各种信息过于凌乱,感到痛苦,影响理解和使用。脚本在运行时,由插件向发起连接,将调试信息发送给,并通过协议进行互动。这种模式的缺陷是配死了目标,不能支持多用户调试。 > 工欲善其事必先利其器,学习一门新语言,调试器的使用必不可少,本文分享一下PHP调试器的使用。 PHP目前有两种流行的调试器, Xdebug Zend Debugg...

    沈俭 评论0 收藏0
  • XDEBUG 从入门到精通

    摘要:默认关闭如果该设置为,那么将禁用关闭操作符,以便不再隐藏通知警告和错误。将写入垃圾收集统计信息输出的目录,确保将运行的用户具有对该目录的写入权限。此设置确定用于将垃圾回收统计信息转储到的文件的名称。 showImg(https://segmentfault.com/img/bVbgEC5?w=480&h=274); 前言 Xdebug是PHP的扩展,用于协助调试和开发。 它包含一个用...

    leejan97 评论0 收藏0
  • 运行/调试PHP代码

    摘要:前言没有任何一名程序员可以一气呵成完美无缺的在不用调试的情况下完成一个功能或模块。调试实际分很多种情况。测试我推荐使用,更好的去理解自己的代码,才是一个合格的程序员。 showImg(https://segmentfault.com/img/bVbe5ZG?w=1260&h=694); 前言 没有任何一名程序员可以一气呵成、完美无缺的在不用调试的情况下完成一个功能或模块。调试实际分很多...

    asoren 评论0 收藏0
  • php 学习指南及技术干货

    摘要:安全生成安全的随机数,加密数据,扫描漏洞的库一个兼容标准的过滤器一个生成随机数和字符串的库使用生成随机数的库一个安全库一个纯安全通信库一个简单的键值加密存储库一个结构化的安全层一个试验的面向对象的包装库一个扫描文件安全的库 Security 安全 生成安全的随机数,加密数据,扫描漏洞的库 HTML Purifier-一个兼容标准的HTML过滤器 RandomLib-一个生成随机数和字...

    lifefriend_007 评论0 收藏0

发表评论

0条评论

wh469012917

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<