gpt4 book ai didi

linux - XDebug 与 PhpStorm : Debugging a CLI script, 通过反向 SSH 隧道连接

转载 作者:太空宇宙 更新时间:2023-11-04 10:30:54 25 4
gpt4 key购买 nike

我有 PhpStorm 10.0.3 并尝试调试在远程服务器上运行的 CLI 脚本。

我已经设置了从本地计算机到远程服务器的反向 SSH 隧道。

远程服务器 xDebug 配置如下:

# /etc/php5/apache2/conf.d/20-xdebug.ini
# /etc/php5/cli/conf.d/20-xdebug.ini
zend_extension=xdebug.so
xdebug.remote_enable=true
xdebug.idekey=PHPSTORM
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000

我尝试像这样启动一个脚本:

 php -dxdebug.remote_autostart=On /var/www/index.php

PhpStorm 调试选项卡已打开(有时它是灰色的),但它没有提示我修复文件映射,它没有打开调试文件,也没有指向断点行。远程服务器脚本执行被阻止,直到我手动终止调试 session 。 enter image description here

当我使用 GET 参数调试 Apache2 时:

 ?XDEBUG_SESSION_START=1 

调试工作正常,系统提示我修复文件映射。

知道这是为什么吗?

我正在研究下面,但它并没有解决我的问题: https://confluence.jetbrains.com/display/PhpStorm/Debugging+PHP+CLI+scripts+with+PhpStorm(问题:现在我的脚本应该如何在没有设置 remote_autostart 设置的情况下开始调试?在绿色提示中他们说它是可选的。)

XDebug: how to debug remote console application?(回复:将 XDEBUG_CONFIG 变量中的 remote_host 设置为我本地计算机的外部 IP [检查复制的 bash 片段] 似乎不起作用。我的本地计算机无法通过外部 IP 访问,只能通过反向 SSH 隧道访问)

 export XDEBUG_CONFIG="remote_host=$(echo $SSH_CLIENT | awk '{print $1}') idekey=PHPSTORM"

最佳答案

这里实际上有两个问题。如@LazyOne 评论中所述,与 PHP5-FPM 服务发生端口冲突。就我而言,我已将其关闭,因为客户端的服务器配置无论如何都不使用 FPM。

我还必须在远程主机上导出 PHP_IDE_CONFIG 变量:

 export PHP_IDE_CONFIG="serverName=serverNameInPHPStorm"

该主机是在 PHPStorm 端配置的(设置/首选项 | 语言和框架 | PHP | 服务器)。我还必须将根项目文件夹映射到远程服务器路径位置,因为它们在我的本地/开发机器和远程机器之间是不同的。

关于linux - XDebug 与 PhpStorm : Debugging a CLI script, 通过反向 SSH 隧道连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39978000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com