我用 phpstorm 作为我调试PHP的主要工具,非常高兴。到目前为止,我一直在使用Firefox来运行脚本,而PhpStorm捕捉到了完美的破裂。

现在,我有一种情况,我正在通过命令行(不是浏览器)运行PHP脚本,并且想知道是否有一种方法可以通过命令行运行PHP脚本来设置PHPSTORM?

有帮助吗?

解决方案

观看/投票 相关的phpstorm问题。

目前,配置有点复杂。应该可以像 在Zend KB中描述, ,带有假服务器和 PHP远程调试 phpstorm中的配置。请注意,本教程有一个错误,您需要设置这样的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脚本 运行/调试配置类型。您为此项目配置的PHP实例必须具有 Zend调试器 或者 xdebug 在配置文件中启用。

可以在 File | Settings | PHP.

只需使用Zend Server安装验证(PHP Home: d:\dev\zend\ZendServer\bin)和Zend Debugger,对我来说非常适合。

其他提示

用phpstorm在外壳/命令行上使用Xdebug启用PHP调试非常容易:

export XDEBUG_CONFIG="idekey=PHPSTORM"

在Windows CLI中,使用设置代替导出。

set XDEBUG_CONFIG="idekey=PHPSTORM"

确保phpstorm正在聆听PHP调试连接。

从命令行端禁用调试:

unset XDEBUG_CONFIG

此(PHPSTORM)是默认的phpstorm IDE键。

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

Screenshot of PhpStorm menu bar

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

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

Screenshot of Run widget, typically docked on the bottom of the window

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

Screenshot of Console widget, docked in the Debug widget

检查环境变量 SERVER_NAMESERVER_PORT 设置。 PHPSTORM需要他们进行正确的映射。将它们放在bash中或在phpscript中手动设置。在这两种情况下,PhpStorm都可以找到它 $_SERVER['SERVER_NAME']$_SERVER['SERVER_PORT'] 正确。

对我(在MacOS上),它以这种方式工作:export XDEBUG_CONFIG="idekey=12345"

这些建议对我来说都没有很好。

如果您处于相同的情况,请尝试此命令(检查正确的PHP解释器路径)

/usr/bin/php -dzend_extension=xdebug.so -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 -dxdebug.remote_autostart=1 [PHP_SCRIPT]

在MacOS上,我使用了不同的bash_profile。我必须首先运行命令:

source ~/.bash_profile

这将我的PHP从内置的/usr/bin/php更改为通过XAMPP安装的PHP。 phpstorm的Xdebug开始在上面的命令之后工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top