如题,最近学习php,搭建环境的时候遇到的这个问题。
这个问题说来也简单,就是没有开启侦听就验证,就会出现这样的情况。
但自己的项目环境多的情况下,就需要梳理清楚到底指向的是哪个环境。
1.作为web服务器,web请求过来第一步肯定是找到nignx服务,上图8032就是nginx服务的端口。
2.再确定nginx服务的下一步是指向哪个服务。查看nginx的配置,确定下一步服务的指向。看对应location ~ \.php$部分的fastcgi_pass参数配置的服务,如果是外部服务则可能是对应的ip和端口。如果是本机服务可能配置的是docker compose中定义的某个服务。
3.找到下一步指向的服务对应的环境。在环境上执行php -v查看是否安装了php的xdebug调试器,如果没有执行,那即使开启侦听,也没法验证。安装xdebug的方法自行搜索,这里不做过多说明。
4.最后就是先开启侦听,再点击验证。如果按照phpstorm工具中标注的顺序来执行,因为没有打开监听肯定就无法验证,phpstorm的工具说明里确实没有提到这个事情,必须要先开启侦听。
验证结果如下,则可以开始使用phpstorm进行单步调试了。