【问题标题】:PHPStorm, Xdebug and remote debugging (using FTP in phpstorm)PHPStorm、Xdebug 和远程调试(在 phpstorm 中使用 FTP)
【发布时间】:2014-01-16 19:20:50
【问题描述】:

第一件事:

  • Server 是在 SunVirtualBox x86 上的 Ubuntu 上运行的 Apache
  • 调试服务器是 XDebug
  • 使用 phpstorm 从 FTP 下载文件

PHP版本是

PHP 5.4.9-4ubuntu2.4 (cli) (built: Dec 12 2013 04:26:30) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
with Xdebug v2.2.1, Copyright (c) 2002-2012, by Derick Rethans

重要提示XDebug 配置正确,因为我的本地主机上一切正常。

但我无法设置远程调试,这里是我制作的所有图像和步骤,请帮助和建议我。

第 1 步 - 基本点击从现有文件创建新项目。

第 2 步 - 选择 FTP

第 3 步 - 文件系统上的项目设置

第 4 步 - 设置 FTP 连接和高级 - 被动模式

第五步 - 运行/调试配置,选择PHP远程调试,输入Ide key: PHPSTORM

第 6 步 - 服务器并验证远程环境,此处弹出 WARNING: No debug extension loaded

第 7 步 - Php ini 配置。

所以最后......

1) 我必须在 我的客户端的远程服务器 上做些什么才能让这件事正常工作吗? 也许也在那里安装 XDEBUG,也许你会觉得这个问题很傻,相信我我已经失去了 3 天的时间,而且我有点沮丧地说租约。所以请帮忙。

2) 我很乐意上传更多屏幕截图或回答您可能遇到的任何问题,以帮助我。我知道这很简单,但我对此感到头疼。

再次请大家帮忙,我确实通过了 15 页关于 PHPSTROM 的远程调试,但所有这些都不够精确。就像您在第一张图片中看到的那样,在我的本地主机上一切正常。

【问题讨论】:

  • 所以你可以在本地主机上调试这段代码,而不能在你下载源代码的服务器上调试?要使用 XDebug,必须在您访问的服务器上安装和配置它。
  • 1) 是的,xdebug(或 Zend Debugger)必须安装在执行代码的同一环境中(在您的情况下——您的远程服务器)。否则 IDE 将如何知道执行某些操作的方式和时间? 2) 为什么将rirads.com/master-schedule 作为 host 字段(步骤 6 的屏幕截图)。它应该是您的域名或 IP(此站点的 $_SERVER["SERVER_NAME"] 的内容)。
  • 感谢两位的回答。将在远程服务器上设置和安装 xdebug。将 xdebug.so 放入某个路径并编辑 php.ini 是否足够?
  • 另一个问题也在 php.ini 配置中。属性 {xdebug.remote.host} 应该是我的本地主机还是远程服务器的 IP 在我的情况下是 rirads.com?我假设远程主机为远程主机所以 rirads.com 或?
  • "property {xdebug.remote.host} 应该是我的本地主机或远程服务器的 IP 在我的情况下是 rirads.com?" -- 没有 --请参阅文档,因为现在您似乎只是在猜测该属性的作用——xdebug.org/docs/all_settings#remote_host。它应该是运行 PhpStorm 的计算机的 IP。顺便说一句——它应该是xdebug.remote_host(下划线而不是第二个点)。

标签: php ftp xdebug remote-debugging phpstorm


【解决方案1】:

您应该在 remotedebug 中将调试器的端口设置为 9000,就像在 php.ini 中一样。

【讨论】:

  • 添加更多解释以理解这一点
【解决方案2】:

在本地机器上使用 XDebug 和在远程系统上使用 XDebug 的主要区别在于您必须配置两件事:

1) 您的网络外部服务器上的 xdebug.remote_host 将成为您的 IP 地址,例如,如果您访问 whatismyip.com,您会得到什么。这个IP地址很容易改变。 (如果您的家庭 IP 变化很大,您可以使用来自某些提供商的动态 DNS 和主机名而不是 IP)。无论如何,当 XDebug 在远程服务器上启动时,它会成为 CLIENT 寻找您的 XDEBUG SERVER 在您的笔记本电脑上的 9000 端口上运行。

这让许多 XDebug 用户感到困惑。然后导致以下结果:

2) 您必须编辑您的家庭/办公室防火墙(大概这是您在步骤 1 中输入 xdebug.ini 或 php.ini 的 IP 上的流量警察),以便将端口 9000 上的传入流量转发到笔记本电脑的您的家庭/办公室网络上的 IP。

关于这方面的最佳资源是(IMO)这里:http://matthardy.net/blog/configuring-phpstorm-xdebug-dbgp-proxy-settings-remote-debugging-multiple-users/

【讨论】:

    猜你喜欢
    • 2011-11-06
    • 2015-07-04
    • 2018-07-12
    • 2014-12-03
    • 2019-03-04
    • 2012-04-06
    • 1970-01-01
    • 2017-08-31
    • 2016-12-30
    相关资源
    最近更新 更多