烟台网站制作企业,艺麟盛世可以做网站推广吗,wordpress 全站过滤,做网站怎么去工信部缴费背景
已经通过docker容器启动了一个web服务#xff0c;并在宿主机可以访问http://localhost:8080访问网页。 现在想使用phpstorm打断点调试代码。
方法
1. 容器内安装xdebug
进入容器
docker exec -it container-name bash为php安装xdebug拓展
apt install php8…背景
已经通过docker容器启动了一个web服务并在宿主机可以访问http://localhost:8080访问网页。 现在想使用phpstorm打断点调试代码。
方法
1. 容器内安装xdebug
进入容器
docker exec -it container-name bash为php安装xdebug拓展
apt install php8.1-xdebug查一下配置文件的路径并编辑其内容
php --ini|grep xdebug
# 输出路径信息如下注意末尾多了个逗号
# /etc/php/8.1/cli/conf.d/20-xdebug.ini,编辑xdebug配置文件vim /etc/php/8.1/cli/conf.d/20-xdebug.ini并输入必要的配置项
zend_extensionxdebug.soxdebug.modedebug
xdebug.start_with_requestyesxdebug.client_host host.docker.internal
xdebug.client_port 9003
xdebug.idekey phpstorm重启fpm使配置生效
service php8.1-fpm restart到这里容器内的web服务已经支持调试了等着客户端跟它通信。
另外php文件中可以调用xdebug_info()查看xdebug的配置信息。
2. PhpStorm配置调试环境
2.1 配置php解释器 点击确定后选中这个解释器并保存设置。
2.2. 配置被调试代码所在的服务器 2.3 开始调试 随后点击调试按钮小瓢虫即可监听调试。打个断点发个请求试试。
3. 效果 4. 原理
xdebug的工作流程客户端使用浏览器通过80端口访问服务端服务端因为开启了xdebug所以根据配置将调试信息通过9003端口发送到刚刚配置的docker宿主机地址(docker宿主机就是我们的客户端地址因为phpstorm运行在windos宿主机上)宿主机上的phpstorm监听到9003端口的响应以后通过dbpg协议与服务端进行连接xdebug的每一步进都会响应到phpstorm上phpstorm在接收到响应后再通过docker环境里的php解释器解释请求并显示在我们的编辑界面上。