调试远程服务器代码前提是在本机上有服务器上的代码并保持一致(svn或者ftp,文件共享)
1.在服务器上安装xdebug扩展
- cd /xdebug/src/path
- /path/to/your/phpize
- ./configure --prefix=/php/installation/prefix --enable-xdebug --with-php-config=/path/to/your/php-config
- make -j4
- sudo make install
/path/to/your/php -i | grep xdebug 确认扩展是否安装成功
使用fastcgi(如nginx)方式运行的需添加这个
fastcgi_param PHP_IDE_CONFIG serverName=$server_name;
重启服务
2. 配置php.ini文件
- zend_extension="/path/to/installed/extension/xdebug.so"
- xdebug.remote_enable=true
- xdebug.remote_host=127.0.0.1
- xdebug.remote_port=10000 (port 9000 is occupied by FPM, but you can set another)
- xdebug.remote_autostart=1
- xdebug.idekey= (you can just leave it empty)
3.安装浏览器xdebug扩展
(firefox)工具->附加组件->扩展 安装 The easiest Xdebug
其他浏览器类似(搜索xdebug即可找到)
安装完了别忘了配置 ide key 哦,这个key保持一致即可
安装好后在浏览器右下角状态栏会有一只小虫子,就是它了!
4.配置IDE(这里用到的是现在最流行的phpstorm)
- 设置debug port 为10000
- Filter Add server configuration of your site
添加服务器,这个没什么说的,注意远程调试应该勾选user path mappings(本地代码与服务器代码映射) - Go to Run->Edit configurations. Add "PHP Remote Debug" configuration, select your server (that you just added) and enter IDE-key, a string that will filter debug data by debug-session name:
- 在phpstorm主界面中点Run->Edit configure... ,点击+添加PHP Remote Debug,填写Name,选择之前创建的server,使用之前统一的key
- 最后 选择Run->debug ,配置没什么问题的话就启动调试了,使用浏览器打开调试地址(先要点一下让那只虫子变亮哦)
这是我的接收到的调试值