我已经成功地从IDE本身启动了php-cli脚本调试会话,但是我需要从shell /命令行开始调试会话。 这些是相当复杂的维护PHP脚本,需要大量输入参数,因此在Netbeans中输入参数有点繁琐。
我以前用Zend Studio做过这件事:https://zend18.zendesk.com/hc/en-us/articles/203838096-Debugging-PHP-CLI-Scripts,但现在我需要让它在Netbeans上工作。
我已经成功地从IDE本身启动了php-cli脚本调试会话,但是我需要从shell /命令行开始调试会话。 这些是相当复杂的维护PHP脚本,需要大量输入参数,因此在Netbeans中输入参数有点繁琐。
我以前用Zend Studio做过这件事:https://zend18.zendesk.com/hc/en-us/articles/203838096-Debugging-PHP-CLI-Scripts,但现在我需要让它在Netbeans上工作。
我在Ubuntu/Netbeans上的操作步骤如下:
export XDEBUG_CONFIG="idekey=netbeans-xdebug"
然后只需在netbeans中开始调试并在命令行中执行php myscript.php
即可。
注意: 如果您想使用netbeans进行远程调试,则需要使用“Debug File”而不是常规的“Debug”选项来调试正在从命令行运行的文件。
xdebug.remote_autostart=On
添加到您的php.ini文件中,或将-dxdebug.remote_autostart=On
作为参数添加到PHP二进制调用(php -d... script.php
)中。code
php -dxdebug.remote_autostart=On -didekey=PHPSTORM -dremote_host=localhost -dprofiler_enable=1 MY_PHP_PAGE.php PARAM1 PARAM2
code
- Coenie Richards我会把所有东西放在一起,以下是对我有效的方法。
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
我曾经遇到过同样的问题,我的解决方案如下:
如果您不想为IDE配置xDebug(我讨厌配置),则可以使用Dephpugger项目。
https://github.com/tacnoman/dephpugger
你可以在终端中运行调试器,例如Python的ipdb和Ruby的byebug。
我曾经遇到过同样的问题,我的解决方案是:
在Netbeans中,进入项目窗口,右键单击PHP项目,选择属性,然后选择运行配置。创建一个新的配置。
填写正确的值:
请确保您设置了DBGP_IDEKEY值,因为通常它不是idekey。 例如,在Linux上:
export DBGP_IDEKEY="netbeans-xdebug"
export XDEBUG_CONFIG="netbeans-xdebug=netbeans-xdebug"
SET XDEBUG_CONFIG=idekey=xdebug
(注意缺少引号!) - fishboneexport XDEBUG_CONFIG="idekey=netbeans-xdebug"
放入/etc/php5/cli/php.ini
,但由于这很奇怪且没有任何作用,所以我在 Google 上搜索了 "Ubuntu export" 并了解到它应该在运行 php 脚本之前在终端中运行。对我来说这不是很明显。 - iVenGO