在PHPStorm中调试PHP命令行脚本

Jos*_*vid 21 php debugging command-line phpstorm

我使用PHPStorm作为调试PHP的主要工具,我非常高兴.到目前为止,我一直在使用Firefox来运行脚本,PHPStorm可以完美地捕获它们.

现在我有一种情况,我通过命令行(而不是浏览器)运行PHP脚本,并想知道是否有办法设置PHPStorm以通过命令行运行PHP脚本时捕获中断?

Ven*_*tra 53

使用Phpstorm在shell /命令行上启用PHP Debuging with Xdebug非常简单:

export XDEBUG_CONFIG="idekey=PHPSTORM"
Run Code Online (Sandbox Code Playgroud)

在Windows CLI中,使用set而不是export.

set XDEBUG_CONFIG="idekey=PHPSTORM"
Run Code Online (Sandbox Code Playgroud)

确保Phpstorm正在侦听PHP Debug连接.

要从命令行结束禁用调试:

unset XDEBUG_CONFIG
Run Code Online (Sandbox Code Playgroud)

这个(PHPSTORM)是默认的Phpstorm IDE-Key.


Cra*_*der 14

观看/投票相关的PhpStorm问题.

目前配置有点复杂.应该可以像Zend KB中所描述的那样进行调试,在PhpStorm中使用虚假服务器和Php远程调试配置.请注意,本教程有错误,您需要像这样设置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"
Run Code Online (Sandbox Code Playgroud)

(注意引用的差异很重要).

设置PhpStorm如截图所示:

假的服务器

远程调试

按主工具栏上的" 调试"按钮.PhpStorm将开始监听调试器连接.

在命令行中运行脚本:

d:\dev\zend\ZendServer\bin\php.exe d:\work\attaches\sample\helps.php
Run Code Online (Sandbox Code Playgroud)

PhpStorm将达到断点:

断点击中

这是在Windows上使用Zend Server安装测试的,但在其他系统和xdebug上应该类似.

如果要直接从PhpStorm进行调试,请使用Php Script Run/Debug配置类型.为此项目配置的PHP实例必须在配置文件中启用Zend DebuggerXdebug.

可以在中指定PHP home和debugger模式File | Settings | PHP.

刚刚使用Zend服务器安装(PHP home d:\dev\zend\ZendServer\bin:)和Zend Debugger验证,对我来说非常适合.

  • 仅供参考,这是运行XDEBUG的示例环境设置,我成功使用它:-----**设置"XDEBUG_CONFIG = idekey = PHPSTORM_XDEBUG remote_enable = 1 remote_host = 127.0.0.1 remote_port = 9000 remote_handler = dbgp remote_mode = req"**-----再次,引用似乎很敏感 (5认同)

Dav*_*cki 5

  1. 单击运行.
  2. 单击编辑配置...
  3. 单击绿色+
  4. 选择PHP脚本.
  5. 在"名称"字段中提供名称.
  6. 在"文件"字段中提供脚本的完整路径.
  7. 单击确定.
  8. 在此下拉列表中选择您刚刚配置的脚本:

PhpStorm菜单栏的屏幕截图

  1. 单击运行或调试按钮.您的脚本应该运行,它应该捕获任何设置的断点.

如果您运行脚本,则可以在此处查看输出:

如果您调试脚本,可以在此处查看输出:

Console小部件的屏幕截图,停靠在Debug小部件中