环境原始来自dnmp ,稍做修改
- 进入根目录
- 配置文件
# cp docker-compose.diff-v2.yml docker-compose.yml cp env.diff-v2 .env
- 构建镜像和启动容器
#构建和启动所有容器(根据个人情况不需要的环境可以在docker-compose.yml里面注释) docker-compose up
- 推荐使用 Yasd 进行 Swoole 调试,类似 Xdebug,支持php-fpm,完美支持协程,支持断点调试、单步追踪、watch 变量;
- php.ini 配置添加下面内容
zend_extension=yasd.so ;使用远程调试远程调试 yasd.debug_mode=remote ;本地开发地址 IDE所在的ip地址,如果是虚拟机,请填写虚拟机和宿主机通信的那个网卡的ip地址 yasd.remote_host=host.docker.internal ;本地开发监听端口 yasd.remote_port=9901 ; 这样的话,相当于默认开启了php -e选项, 调试完记得注释掉 yasd.open_extended_info=1
- docker-composer.yml文件修改如下
#php74下面添加 environment: XDEBUG_CONFIG: "idekey=PHPSTORM" PHP_IDE_CONFIG: "serverName=phpIde"
- .env文件里面添加yasd扩展
- 上面的在dnmp环境已经配好了(查看使用ysad安装成功 php -v 成功显示有:with Yasd v0.3.9-alpha, Our Copyright, by codinghuang)
- 特别说明:如果使用hyperf框架的话断点必须打到代理类