phpstorm ubuntu 怎么调试代码
导读:1. 安装Xdebug扩展 在Ubuntu终端中运行以下命令安装Xdebug(根据PHP版本调整,如php7.4-xdebug、php8.1-xdebug): sudo apt-get update sudo apt-get install...
1. 安装Xdebug扩展
在Ubuntu终端中运行以下命令安装Xdebug(根据PHP版本调整,如php7.4-xdebug
、php8.1-xdebug
):
sudo apt-get update
sudo apt-get install php-xdebug
安装完成后,通过php -v
命令确认Xdebug已加载(输出中应包含“with Xdebug v3.x”)。
2. 配置php.ini文件
找到PHP配置文件路径(可通过php --ini
命令查看),通常为/etc/php/{
php_version}
/cli/php.ini
(CLI模式)和/etc/php/{
php_version}
/fpm/php.ini
(FPM模式)。用文本编辑器打开文件,添加以下Xdebug配置:
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.start_with_request=yes
zend_extension
:指向Xdebug扩展文件(无需手动指定路径,系统会自动查找);xdebug.mode=debug
:启用调试模式;xdebug.client_host
:调试客户端(PhpStorm)的IP地址;xdebug.client_port
:调试端口(默认9003,需与PhpStorm配置一致);xdebug.start_with_request=yes
:每次请求都启动调试。
3. 配置PhpStorm
- 添加PHP解释器:打开
File > Settings > Languages & Frameworks > PHP
,点击“CLI Interpreter”右侧的“…”,选择本地PHP解释器(如/usr/bin/php
),点击“OK”保存。 - 配置Servers:进入
Languages & Frameworks > PHP > Servers
,点击“+”添加新服务器,输入名称(如“Localhost”),设置“Host”为localhost
、“Port”为80
(或你的Web服务器端口),点击“OK”。 - 配置Debug设置:进入
Languages & Frameworks > PHP > Debug
,确保“Xdebug”已启用,且“Debug port”设置为9003
(与php.ini一致)。
4. 设置断点
在需要调试的PHP代码行左侧空白处点击,出现红色圆圈即表示断点设置成功。可设置多个断点,调试时会依次暂停。
5. 启动调试会话
- 方式一:点击PhpStorm工具栏上的绿色虫子图标(或按
Shift+F9
),选择已配置的服务器(如“Localhost”),启动调试。 - 方式二:若使用浏览器访问,需安装Xdebug浏览器扩展(如Chrome的“Xdebug Helper”),开启调试模式后访问项目,代码会在断点处暂停。
6. 调试操作
调试启动后,代码会在断点处暂停,可使用工具栏按钮控制执行流程:
- Step Over(F8):执行当前行,跳到下一行;
- Step Into(F7):进入当前行的函数/方法内部;
- Step Out(Shift+F8):跳出当前函数/方法;
- Resume Program(F9):继续执行到下一个断点或结束;
- Stop(Ctrl+F2):终止调试会话。
同时,可在“Debug”工具窗口查看变量值、调用堆栈、当前执行位置等信息,辅助排查问题。
常见问题排查
- 若调试未触发,检查
xdebug.start_with_request=yes
是否设置正确,或尝试重启Web服务器(sudo systemctl restart apache2
/nginx
)和PhpStorm; - 确保
xdebug.client_port
与PhpStorm配置一致,避免端口冲突; - 若使用Nginx,需在
nginx.conf
中配置fastcgi_pass
指向PHP-FPM套接字,并重启Nginx。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: phpstorm ubuntu 怎么调试代码
本文地址: https://pptw.com/jishu/716666.html