PHP调试环境不工作

标签 php centos xdebug

我已经走到了尽头,真的可以使用一些帮助!

这是我的设置 -

  • CentOS 上的 NGINX、PHP-FPM
  • Nginx conf 文件有以下内容:
    location ~ .php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
  • /etc/php-fpm.d/www.conf 中的 PHP-FPM conf 文件具有以下内容listen=127.0.0.1:9000

  • 通过以上配置,NGINX 可以正常显示 PHP 页面。

    现在,我想设置 Xdebug。所以我在/etc/php.d/xdebug.ini 文件中添加了以下内容
    <code>
    zend_extension=/usr/lib64/php/modules/xdebug.so
    xdebug.remote_enable=1
    xdebug.remote_host=x.x.x.x
    xdebug.remote_port=9009
    xdebug.remote_autostart=1
    </code>
    

    注意远程端口设置为 9009 与 PHP-FPM 端口 9000 不冲突。

    在 x.x.x.x 机器上,我让 XDebugClient 运行监听端口 9009 上的传入连接。

    接下来,我从主机 x.x.x.x 启动浏览器并请求 URL http://y.y.y.y?XDEBUG_SESSION_START=1 (其中 y.y.y.y)是带有 NGINX、PHP-FPM 和 XDebug 设置的服务器。

    问题 - 没有任何 react 。 XDebugClient 永远不会获得连接!

    我错过了什么?

    最佳答案

    检查事项

  • 拉起一个 phpinfo() 页面以确保您的 php.ini 文件配置正确。如果您没有看到很长的 xdebug 部分,那么问题出在您的配置中。
  • 尝试运行 traceprofile与 xdebug。如果它们有效,那么 xdebug 模块本身就可以了。
  • 尝试在 php.ini 文件中设置 xdebug.remote_connect_back=1。这将覆盖 remote_host 设置,如果问题与网络配置有关,这将很有帮助。
  • 确保您的 IDE 设置为监听端口 9009 上的连接。例如,在 PHPStorm 中,您必须将 IDE 配置为监听自定义端口,然后您必须在加载之前按下按钮激活调试工具正在调试的页面。

  • 这些是我必须经历很多次的基本步骤。希望其中一个会有所帮助。

    关于PHP调试环境不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36271058/

    相关文章:

    php - xdebug 连接到客户端超时。 :-( using phpstorm 7. 1.3/vagrant/virtualbox/magento

    cakephp - 我们需要在 CakePHP 上测试私有(private)函数吗?

    PHP UNIX 时间戳不迭代到相同的值

    Apache 2.4 mod_rewrite 和 htaccess

    php - 如何在 laravel 4 框架中应用 xss 过滤器?

    gcc - aarch64-linux-gnu-g++ 交叉编译为 arm64 错误

    bash - WGET 不适用于 plunder.com

    php - 代码点火器 + NetBeans + XDebug : Debugger not working after redirect()

    php - PDOStatement::fetchAll()返回的数组中的每个字段均为String类型(PHP + MySQL)。如何保留原始字段类型?

    php - CakePHP 3 - 捕获错误