我有一台运行Apache服务器的远程计算机。我想使用PhpStorm在本地计算机上使用Xdebug来调试位于远程服务器中的PHP文件。
这是我在远程Ubuntu服务器上所做的:
1。 apt-get install php7.2-xdebug
2。转到/etc/php/7.2/apache2/php.ini并添加:
[xdebug]
zend_extension=/usr/lib/php/20180731/xdebug.so
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.idekey=PHPSTORM
xdebug.remote_host=<my local machine IP without braces>
xdebug.remote_log="/var/log/xdebug.log"
xdebug.idekey=PHPSTORM
3。重新启动Apache服务器/etc/init.d/apache2 restart
4。当我在其中创建带有echo phpinfo();
的脚本时,它表明Xdebug已“正确”安装(我想):它显示了具有所有变量的Xdebug部分。
5。在PhpStorm中,我在文件上设置了一个断点,然后开始侦听传入的调试会话,我通过执行netstat查询来验证这一点,该查询返回我的Mac的进程PhpStorm正在侦听端口9000
6。在Chrome浏览器中,我下载了扩展名Xdebug,然后打开了添加断点的脚本。我在Chrome中打开的此文件与本地文件之间的映射正确。
7。我点击Chrome扩展程序中的“调试”按钮,该按钮变为绿色。我已验证,由于HTTP标头具有XDEBUG_SESSION=PHPSTORM
尽管如此,我还是无法在PhpStorm上进行任何传入会话。
我试图查看我注册为Xdebug日志文件的文件/var/log/xdebug.log
,但该文件为空。...
我忘记了什么吗?我不知道要花8个小时做什么,我已经在StackOverflow上看到了所有与之相关的帖子,但对我没有任何帮助(我什至无法在/var/log/xdebug.log
中添加内容,所以我可以进一步了解发生了什么)。我不知道Xdebug收到我的HTTP请求时是否在做某事。