- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有 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 。
当我使用 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/
我是一名优秀的程序员,十分优秀!