我正在尝试将最近的XAMPP开发设置转换为基于WSL2的LAMP堆栈。
到目前为止,我已经成功了。 我可以通过
我已经浏览了这些线程,但没有找到解决方法:
我尝试过对“discover_client”进行注释,并将客户端主机明确设置为localhost,但没有改变。 phpinfo()的输出似乎表明这些设置不被忽略。请参见相关部分的截图。
在
“all granted”只是调试时的临时设置。
我不知道这是否相关,但我确保
所以,当我运行时。
我明白了。
有人看到问题吗?或者有人能给我一个提示,告诉我下一步该在哪里找吗?
https://localhost/test.php
访问我的测试页面test.php
,其中包含<?php phpinfo();
(出于开发目的使用自签名证书)。
不幸的是,我完全无法使Xdebug工作。Xdebug: [Step Debug] Could not connect to debugging client. Tried: localhost:9003 (through xdebug.client_host/xdebug.client_port) :-(
我已经浏览了这些线程,但没有找到解决方法:
我的设置:
- 安装了WSL2的Windows 10
- 带有Apache2的Ubuntu 20.04
- PHP 8.0.5和Xdebug 3.0.4
- PhpStorm (IDE)
我的Xdebug设置在/etc/php/8.0/apache2/php.ini
中:
[xdebug]
xdebug.mode=debug
xdebug.remote_port=9003
xdebug.client_port=9003
xdebug.start_with_request=yes
xdebug.remote_host=localhost
xdebug.idekey=PHPSTORM
xdebug.discover_client_host=1
;xdebug.client_host=localhost
;xdebug.remote_enable=1
;xdebug.remote_handler=dbgp
我尝试过对“discover_client”进行注释,并将客户端主机明确设置为localhost,但没有改变。 phpinfo()的输出似乎表明这些设置不被忽略。请参见相关部分的截图。
在
/etc/apache2/sites-available/default-ssl.conf
中,虚拟主机的相关设置如下:<VirtualHost: *:443>
ServerName localhost
DocumentRoot "/mnt/d/projects/testproject/public"
<Directory "/mnt/d/projects/testproject/public/">
Options +Indexes +Includes +FollowSymlinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
“all granted”只是调试时的临时设置。
我不知道这是否相关,但我确保
C:\Windows\System32\drivers\etc\hosts
包含。127.0.0.1 localhost
::1 localhost
所以,当我运行时。
php -dxdebug.mode=debug /mnt/d/projects/testproject/public/test.php
我明白了。
Xdebug: [Step Debug] Could not connect to debugging client. Tried: localhost:9003 (through xdebug.client_host/xdebug.client_port) :-(
有人看到问题吗?或者有人能给我一个提示,告诉我下一步该在哪里找吗?
xdebug.discover_client_host=1
应该是有效的。你是在Windows上测试吗(Phpstorm也在运行在Windows上)?在故障排除过程中,如果请求头检测不起作用,可以尝试显式设置xdebug.client_host为正确的值,这可能会有所帮助。 - undefined