【问题标题】:Connection between phpstorm and xdebugphpstorm 和 xdebug 的连接
【发布时间】:2015-09-25 22:33:06
【问题描述】:

我配置了 phpstorm-xdebug,并且能够使用断点调试我的代码。 这些天我更新了 php(通过 brew)和 xdebug,现在我有了 php 5.5.26 和 xdebug 2.3.3。 当我尝试调试测试(和代码)时,phpstorm 告诉我:“未建立与 xdebug 的连接”。

我已经检查了php.ini中xdebug的配置,如下

[xdebug]
zend_extension="/usr/local/opt/php55-xdebug/xdebug.so"
xdebug.remote_enable=1
xdebug.profiler_enable=1
xdebug.remote_port=9000
xdebug.remote_host=127.0.0.1
xdebug.idekey=PHPSTORM

和网络服务器调试验证说

我尝试了不同版本的phpstorm,卸载e重新安装php55/php55-xdebug但没有成功。

你对如何解决这个问题有任何想法吗?

【问题讨论】:

  • 你安装了php_fpm吗?您是否单击顶部菜单栏上的Start listening 图标?您是否使用正确的 IDE 密钥、端口等配置 DBGproxy(在工具菜单中)...
  • 是的,我已经安装了 php_fpm,但我认为我正在使用 php,因为我在控制台中开始测试。是的,我添加了 DBGproxy 监听端口 9000 与 PHPSTORM 作为 idekey
  • 如果启动了 php-fpm(进程),并且您没有明确配置它(使用您的 apache),它默认占用端口 9000。尝试killall php-fpm 看看它是否正在运行。然后再次尝试调试。
  • 如果 1) 你是唯一一个进行调试的人 2) 它是本地的,那么你根本不需要 DBGproxy。 DBGproxy 可用于远程调试,尤其是当您通过 SSH 调试/与其他开发人员共享相同 IP 时。
  • @AndreaGiuliano 您如何调试:通过 CLI 还是通过浏览器?您能否显示在与您调试相同的环境中捕获的phpinfo() 输出的 xdebug 部分(我的意思是:如果通过浏览器调试,则通过浏览器捕获输出)。问题是:CLI 和 Web 服务器可能有不同的 php.ini。

标签: php debugging phpstorm xdebug


【解决方案1】:

另一种解决方法——改变php.ini中xdebug的端口。以 9001 为例:

xdebug.remote_port=9001

之后,您需要在 Preferences->Languages & Frameworks -> PHP -> Debug 中更改 PhpStorm 中的 xdebug 端口。 Xdebug 端口设置为 9001。

【讨论】:

    【解决方案2】:

    安装新的 PHP 后,如果您在未正确配置的情况下启动 php-fpm,它默认侦听端口 9000。这是您需要编辑的发行版中的 'stock' php-fpm.conf:

    /usr/local/etc/php/5.5/php-fpm.conf

    ...
    
    ;   '[::]:port'            - to listen on a TCP socket to all addresses
    ;                            (IPv6 and IPv4-mapped) on a specific port;
    ;   '/path/to/unix/socket' - to listen on a unix socket.
    ; Note: This value is mandatory.
    listen = 127.0.0.1:9000
    

    它绑定端口 9000,将其更改为另一个值(在我的情况下将其更改为 8001)。然后相应地配置您的 apache 配置。这是我的配置示例配置(apache 2.4),绑定到端口 8001

    /usr/local/etc/apache2/2.4/extra/proxy-fcgi.conf

    ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:8001/usr/local/var/www/htdocs/$1
    DirectoryIndex /index.php
    

    重启apache和php-fpm,xdebug使用9000端口就好了。启动 PhpStorm。

    【讨论】:

      【解决方案3】:

      也将xdebug.remote_port=9001 更改为php.iniphpstorm,为我工作。

      【讨论】:

        猜你喜欢
        • 2020-09-23
        • 1970-01-01
        • 2020-02-19
        • 2016-10-01
        • 2015-08-03
        • 2018-06-03
        • 2014-11-23
        • 2019-08-05
        • 2021-02-25
        相关资源
        最近更新 更多