我在使用 Xdebug 设置远程 Web 服务器调试时遇到了问题。我不断收到 404 错误:
但实际上 Xdebug 被正确检测到:
机器是如何设置的
- 笔记本电脑和台式电脑连接在同一网络中
- 笔记本电脑安装了 Ubuntu 18,我将其用作服务器
- 笔记本电脑上有一个带文件同步功能的 Docker,但目前这无关紧要
- PhpStorm 在我的台式电脑上,
- Vsftpd 配置正确,在桌面上编辑的文件正在笔记本电脑上发送,页面数据正在容器中更新,
- 我的网站在 192.168.1.103 本地运行
此时什么工作正常
- 与笔记本电脑的 FTP 连接,
- 与笔记本电脑的 SFTP 连接,
- SSL,
- 通过例如 Git Bash 从桌面进行 SSH 连接,
- Xdebug 本身在笔记本电脑上运行良好。
我已经尝试过的
检查 SSH 的转发/隧道 Xdebug and PhpStorm remote does not work
- 好吧,最后一条命令卡住了 Ubuntu 上的控制台,但我可以从 git bash 建立 SSH 连接而不会出现桌面问题
关注此:https://help.ubuntu.com/community/SSH/OpenSSH/Configuring .我试过打开此设置,因为关闭:
AllowTcpForwarding yes X11Forwarding yes
尝试更改 php.ini 和 xdebug.ini 的设置,(两者分开)
zend_extension=/usr/lib/php/20170718/xdebug.so xdebug.remote_autostart = 1 xdebug.remote_enable = 1 xdebug.remote_handler = dbgp xdebug.remote_host = 127.0.0.1 xdebug.remote_log = /tmp/xdebug_remote.log xdebug.remote_mode = req xdebug.remote_port = 9005
- 我尝试将远程主机更改为网站运行的 IP,但没有帮助。
- Apache
DocumentRoot
也设置在/var/www
上,而我的项目在其他地方,所以我将项目移动到/var/www
并且仍然没有 - 但在上面给定的 IP 上工作正常。
我现在没主意了。
附言我是 Linux 新手。
最佳答案
首先,我无法确定到底是什么问题,但是我对我所做的更改没有什么想法,它突然开始起作用了。
这次为了使连接正常工作,我一步一步地做了什么。
- 创建新的远程项目
- 定义与 FTP 的连接(在我的例子中,我使用 Ubuntu 连接到我的笔记本电脑)
此时的区别在于:
- 我已经手动指出了位置
- 我已经更改了 Web 服务器根 URL,之前它只是没有端口等的 IP
接下来是映射。一旦我在“连接”选项卡中设置了正确的路径,我所要做的就是:
- 选择 CLI 和路径映射
一旦建立连接,就会有检测到的远程 CLI 解释器列表。 我拿起了笔记本电脑的 Ubuntu。 再次注意路径映射,它应该与上面的根路径相同。
现在,一旦您按下 CLI 行中标记的按钮,您将看到新窗口。在我的例子中,检测到了 xdebug。
按“在编辑器中打开”
- X调试设置
以下是我在 php.ini 中的设置:
zend_extension = /usr/lib/php/20170718/xdebug.so
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_connect_back = 1
xdebug.remote_host = "192.168.1.100" //This is my Desktop PC IP
xdebug.remote_log = /tmp/xdebug_remote.log
xdebug.remote_mode = req
xdebug.remote_port = 9101 //This is the port under which I want xdebug to work remotely
xdebug.idekey = "PHPSTORM"
下面是我在 Ubuntu 上的 Xdebug.ini 文件的设置(同上):
值得一提的是,我有 127.0.0.1 作为 remote_host,这次验证工具实际上检测到了我的桌面 IP。
请注意带下划线的部分——这是我的设置。 现在去验证。
按下验证后,您应该会看到如下所示的设置。再次确保选择正确的远程连接。
其余部分与官方指南一致——在浏览器中设置 Xdebug 扩展并开始监听传入连接。
以下是一些有用的链接,如果您遇到其他类型的问题,这些链接可能会有所帮助。
关于linux - PhpStorm 远程 Xdebug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52548796/