1.启动Docker并进入容器内。
2.安装 Xdebug
$ sudo pecl install xdebug
$ sudo docker-php-ext-enable xdebug
3.查看是否安装了xdebug
$ php -m
看到最后:
4.配置php.ini文件(可以用 $ sudo find / -name php.ini 搜索)
$ sudo vim php.ini
写入并修改有备注的信息
[xdebug]
zend_extension=xdebug.so
xdebug.auto_trace=true
xdebug.remote_enable=1
xdebug.remote_autostart=1 ;开启自动跟踪
xdebug.remote_handler=dbgp
xdebug.remote_host=192.168.2.186 ;远程debug主机ip
xdebug.remote_connect_back=1
xdebug.remote_port=9000 ;php服务端口
xdebug.idekey=web ;ide名称,可以在phpstrom 的Debug中定义
xdebug.remote_log="/var/log/xdebug/xdebug.log"
xdebug.profiler_enable=1
xdebug.profiler_output_dir="/var/log/xdebug/xdebug-profiler"
PhpStom 配置(精华):
Apache: 在PHP 下的Servers 中配置Host 为访问IP ,端口为docker映射端口,指向app路径为docker容器中的项目路径(/var/www/html/app …)
Nginx: 这个比较奇葩,需要查看nginx配置文件 /etc/nginx/conf.d/default.conf 中,找到 server_name 对应的名称,在phpstrom 中的Servers 中写入刚刚的server_name,端口写 listen对应的端口(80)