用xdebug和netbeansdebuggingphp-cli脚本?

我设法从IDE本身启动php-cli脚本debugging会话,但是我需要从shell /命令行启动debugging会话。 这些是相当复杂的维护PHP脚本,它需要大量的input参数,所以从Netbeans中input参数有点麻烦。

我之前用Zend studio做过: https : //zend18.zendesk.com/hc/en-us/articles/203838096-Debugging-PHP-CLI-Scripts ,但现在我需要使用Netbeans。

提前致谢。

我通过以下途径在Ubuntu / Netbeans上工作:

  • 将/etc/php5/apache2/php.ini文件中的xdebugconfiguration行复制到/etc/php5/cli/php.ini
  • 使用debugging会话的名称设置一个环境variables(您可以从开始debugging时netbeans启动页面的URL中的查询string中获得),所以命令是: export XDEBUG_CONFIG="idekey=netbeans-xdebug"

那么这只是一个在netbeans中开始debugging并在命令行执行php myscript.php情况。

注意:如果要使用netbeans进行远程debugging,则需要使用正在从命令行运行的文件上的debugging文件,而不是正常的debugging。

xdebug.remote_autostart=On添加到您的php.ini文件中,或者添加-dxdebug.remote_autostart=On作为PHP二进制调用的参数( php -d... script.php )。

http://xdebug.org/docs/remote

我将把所有的一切,以下是对我的作品。

 file: /etc/php5/cli/php.ini zend_extension="/usr/lib/php5/20121212/xdebug.so" -> xdebug bin path xdebug.remote_enable=on xdebug.remote_host=127.0.0.1 xdebug.remote_handler="dbgp" xdebug.remote_mode="req" xdebug.remote_port=9000 -> same port configured in netbeans debugging tab xdebug.idekey="netbeans-xdebug" -> same ide configured in netbeans debuggin tab xdebug.remote_autostart=1 

那么,没有任何其他参数

PHP script.php

我有同样的问题,我的解决scheme是这样的:

在NetBeans>项目窗口>右键单击php项目>属性>运行configuration。 创build一个新的configuration。

填写正确的值:

  • 作为“脚本”运行
  • 设置PHP解释器
  • 在我的情况下更改索引文件是“cron / index.php”。

你可以使用Dephpugger项目,如果你不想为你的IDEconfigurationxDebug(我讨厌configuration)。

https://github.com/tacnoman/dephpugger

您可以在terminal中运行debugging器,例如Python的ipdb和Ruby的byebug。

我有同样的问题,我的解决scheme是这样的:

  1. 环境:windows下的netbeans 8.2(apache + php)
  2. 假设您已经将PHP和NetBeansconfiguration为使用Xdebug( http://wiki.netbeans.org/HowToConfigureXDebug#Notes_on_Windows_Configuration )来debugging代码,
  3. 在NetBeans上创build新的configuration(“项目属性”>“运行configuration”>“新build…”
  4. 在新的configuration集中不要打开网页浏览器(“高级”>“不要打开网页浏览器”)
  5. 设置激活新创build的configuration(在工具栏中下拉菜单)
  6. 设置debugging断点
  7. 打开debugging(CTRL + F5)
  8. 打开terminal窗口(“工具”>“在terminal中打开”)
  9. inputterminal:$ export XDEBUG_CONFIG =“idekey = netbeans-xdebug”(netbeans-xdebug的值必须与“工具”>“选项”>“debugging”>“会话ID”一致)
  10. inputterminal:$ php.exe -f“C:\ Apache24 \ htdocs \ http://www.SiteName \ ScriptName.php” – “Arg1 = x&Arg2 = y”
  11. 跟随debugging…