在phpstorm里通过yasd调试在docker环境下的swoole项目(dnmp+swoole+yasd+laravels+phpstorm)
环境
MacOS 本机项目路径
/Users/daul/Dev/Env/dnmp1/www/l_api
Docker-PHP容器挂载路径
/www/l_api
步骤
dnmp 默认不支持 yasd 扩展, 先进入php容器安装yasd
前置环境docker exec -it php sh apk add boost boost-dev make gcc g++
然后跟着yasd 教程走
修改php.ini
在最后加上这一段[Yasd] zend_extension=yasd yasd.debug_mode=remote yasd.remote_host=host.docker.internal yasd.remote_enable=1 yasd.remote_handler="dbgp"
重点
yasd.remote_host=host.docker.internal
phpstorm 配置
setting>PHP>server
在服务器绝对路径上填入 docker-PHP 容器挂载地址
服务器名称 这里要记住 ,待会用得上启动swoole程序
我这边用的是 laravels 其他的框架或者单文件应该都差不多
在执行启动脚本前,需要先加一个环境变量到docker-php容器里(这一点很重要)docker exec -it php sh export PHP_IDE_CONFIG="serverName=laravels"
这里的
laravels
就是之前的 服务器名称
环境变量加好以后就可以启动脚本了laravels 原本启动方式
php bin/laravels start -d
laravels 调试启动方式
php -e bin/laravels start -d
开始调试
(完)