在 PHPStorm 中调试 PHP 命令行脚本
我使用PHPStorm作为调试PHP的主要工具,非常高兴。到目前为止,我一直在使用Firefox来运行脚本,PHPStorm完美地捕获了中断。
现在我有一个情况,我正在通过命令行(而不是浏览器)运行PHP脚本,并且想知道是否有一种方法可以设置PHPStorm以在通过命令行运行PHP脚本时捕获中断?
我使用PHPStorm作为调试PHP的主要工具,非常高兴。到目前为止,我一直在使用Firefox来运行脚本,PHPStorm完美地捕获了中断。
现在我有一个情况,我正在通过命令行(而不是浏览器)运行PHP脚本,并且想知道是否有一种方法可以设置PHPStorm以在通过命令行运行PHP脚本时捕获中断?
要使用Phpstorm在shell/命令行上使用Xdebug启用PHP调试非常简单:
export XDEBUG_CONFIG="idekey=PHPSTORM"
在 Windows CLI 中,使用 set 而不是 export。
set XDEBUG_CONFIG="idekey=PHPSTORM"
确保 Phpstorm 正在侦听 PHP 调试连接。
从命令行端禁用调试:
unset XDEBUG_CONFIG
This (PHPSTORM) 是默认的 Phpstorm IDE-Key。
请观看/投票相关的PhpStorm问题。
目前配置有点复杂。应该可以像Zend KB中描述的那样进行调试,在PhpStorm中使用假服务器和Php Remote Debug配置。请注意,本教程有一个错误,您需要设置如下QUERY_STRING(在Windows上):
SET "QUERY_STRING=start_debug=1&debug_port=10137&debug_host=127.0.0.1&debug_stop=1&no_remote=1&debug_session_id=10000"
(注意引用的差异,这很重要)。
设置PhpStorm,如屏幕截图所示:
按主工具栏上的“调试”按钮。PhpStorm 将开始侦听调试器连接。
在命令行中运行脚本:
d:\dev\zend\ZendServer\bin\php.exe d:\work\attaches\sample\helps.php
PhpStorm 将命中断点:
这在安装了Zend Server的Windows上进行了测试,但在其他系统和xdebug上应该类似。
如果要直接从 PhpStorm 进行调试,请使用 Php Script Run/Debug 配置类型。为此项目配置的 PHP 实例必须在配置文件中启用 Zend 调试器或 Xdebug。
PHP 主屏幕和调试器模式可以在 中指定。File | Settings | PHP
刚刚验证了Zend服务器安装(PHP主页:)和Zend Debugger,对我来说非常有效。d:\dev\zend\ZendServer\bin