linux - PhpStorm 远程 Xdebug

标签 linux ubuntu server phpstorm xdebug

我在使用 Xdebug 设置远程 Web 服务器调试时遇到了问题。我不断收到 404 错误:

enter image description here

但实际上 Xdebug 被正确检测到:

enter image description here

机器是如何设置的

  • 笔记本电脑和台式电脑连接在同一网络中
  • 笔记本电脑安装了 Ubuntu 18,我将其用作服务器
  • 笔记本电脑上有一个带文件同步功能的 Docker,但目前这无关紧要
  • PhpStorm 在我的台式电脑上,
  • Vsftpd 配置正确,在桌面上编辑的文件正在笔记本电脑上发送,页面数据正在容器中更新,
  • 我的网站在 192.168.1.103 本地运行

此时什么工作正常

  • 与笔记本电脑的 FTP 连接,
  • 与笔记本电脑的 SFTP 连接,
  • SSL,
  • 通过例如 Git Bash 从桌面进行 SSH 连接,
  • Xdebug 本身在笔记本电脑上运行良好。

我已经尝试过的


    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 新手。

最佳答案

首先,我无法确定到底是什么问题,但是我对我所做的更改没有什么想法,它突然开始起作用了。

这次为了使连接正常工作,我一步一步地做了什么。

  1. 创建新的远程项目
  2. 定义与 FTP 的连接(在我的例子中,我使用 Ubuntu 连接到我的笔记本电脑)

enter image description here

此时的区别在于:

  • 我已经手动指出了位置
  • 我已经更改了 Web 服务器根 URL,之前它只是没有端口等的 IP

接下来是映射。一旦我在“连接”选项卡中设置了正确的路径,我所要做的就是:

enter image description here

  1. 选择 CLI 和路径映射

一旦建立连接,就会有检测到的远程 CLI 解释器列表。 我拿起了笔记本电脑的 Ubuntu。 再次注意路径映射,它应该与上面的根路径相同。

enter image description here

现在,一旦您按下 CLI 行中标记的按钮,您将看到新窗口。在我的例子中,检测到了 xdebug。

enter image description here

按“在编辑器中打开”

  1. 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 文件的设置(同上):

enter image description here

值得一提的是,我有 127.0.0.1 作为 remote_host,这次验证工具实际上检测到了我的桌面 IP。

  1. 验证 Xdebug 连接 enter image description here

请注意带下划线的部分——这是我的设置。 现在去验证。

按下验证后,您应该会看到如下所示的设置。再次确保选择正确的远程连接。

enter image description here

其余部分与官方指南一致——在浏览器中设置 Xdebug 扩展并开始监听传入连接。

以下是一些有用的链接,如果您遇到其他类型的问题,这些链接可能会有所帮助。

关于linux - PhpStorm 远程 Xdebug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52548796/

相关文章:

linux - bash 命令 'echo -n -e "\x8 7">/dev/ttyAMA0' 无法从 shell 脚本运行

linux - 在气体中检索命令行参数

linux - 无法获得语法突出显示以在 vim 中使用 R 代码

cordova - 命令 ionic cordova build android 的问题

python - 仅在服务器的主文件夹上安装 python 模块

linux - 运行此命令时出现错误 mahout trainnb -i path_to/train-vectors -el -li path_to/labelindex -o path_to/model -ow -c

node.js - ubuntu ng 命令不起作用

php - PHP 脚本中的 SED 命令(错误表达式 #1,char 34 : Invalid preceding regular expression)

dns - 网站服务器更改后奇怪的谷歌结果

android - 建立 Node.Js 本地服务器(localhost : 8888) on WiFi though WiFi Router (Passing it through LAN to WiFi Router)?