我尝试在 Windows 10 中使用 xdebug。
我在我的 Mac 机器上使用了 xdebug。
但是,在Windows 10中,我安装了xdebug 3.1.6然后配置它。
它并不像我想象的那样工作。
下面是我的
php.ini
[xdebug]
xdebug.mode = debug
xdebug.start_with_request=yes
zend_extension = "C:\wamp64\bin\php\php7.2.33\ext\php_xdebug.dll"
我使用
php -v
确认它已正确安装
然后我在我的 vscode 中安装了 php-debug 扩展。
然后我的 apache vhost 如下所示。
<VirtualHost *:80>
ServerName hello.localhost
DocumentRoot "${INSTALL_DIR}/www/hello"
<Directory "${INSTALL_DIR}/www/hello/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
这是我关于调试php的所有设置。
我的期望是当我向我的 apache 主机请求时触发浏览器到在 vscode 中运行的 xdebug 服务器
hello.localhost
。
但是它不起作用。
我确认任何其他脚本都可以很好地用于调试脚本,例如调试当前脚本和在 php-debug 扩展中自动配置的内置服务器配置。
我想尝试的是在 vscode 中监听 xdebug 脚本。这不起作用。
我还需要配置什么?
验证您是否已将 vHost 与 Xdebug 良好链接
然后您应该在
xdebug.client_host=127.0.0.1
中启用 xdebug.client_host=hello.localhost
或 PHP.INI
。
还要确保您已禁用 Zend OPCACHE 扩展。
[opcache]
;zend_extension="C:\wamp64\bin\php\php7.2.33\ext\php_opcache.dll"
在 PHP 页面上调用
xdebug_info();
并验证所有这些设置。
最后,通过将
?XDEBUG_SESSION=1
添加到查询字符串或直接在代码中调用 xdebug_break();
来调用要调试的页面。