在 PHPStorm 中调试 PHP 命令行脚本

2022-08-30 16:49:01

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

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


答案 1

要使用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。


答案 2

观看/投票相关的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,如屏幕截图所示:

fake server

remote debug

按主工具栏上的“调试”按钮。PhpStorm 将开始侦听调试器连接。

在命令行中运行脚本:

d:\dev\zend\ZendServer\bin\php.exe d:\work\attaches\sample\helps.php

PhpStorm 将命中断点:

breakpoint hit

这在安装了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


推荐