
vscode安装插件

点击调试,选xdebug,会生成launch.json

- {
- "name": "Listen for Xdebug",
- "type": "php",
- "request": "launch",
- "port": 9003,
- "pathMappings": {
- "/var/www/html": "${workspaceFolder}"
- },
- "log": true,
- "xdebugSettings": {
- "max_children": 128,
- "max_data": 512,
- "max_depth": 3
- }
- }
port是docker里webserver对外暴露的端口,我设置的是9090

- # docker里安装 XDebug
- moodle-docker-compose exec webserver pecl install xdebug
-
- # Set some wise setting for live debugging - change this as needed
- # 生成debug文件
-
- read -r -d '' conf <<'EOF'
- ; Settings for Xdebug Docker configuration
- xdebug.mode = debug
- xdebug.client_host = host.docker.internal
- xdebug.client_port = 9003
- EOF
-
- moodle-docker-compose exec webserver bash -c "echo '$conf' >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini"
-
- # Enable XDebug extension in Apache and restart the webserver container
- # 打开debug
- moodle-docker-compose exec webserver docker-php-ext-enable xdebug
- moodle-docker-compose restart webserver
可以到docker检查内容

- # Disable XDebug extension in Apache and restart the webserver container
- moodle-docker-compose exec webserver sed -i 's/^zend_extension=/; zend_extension=/' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
- moodle-docker-compose restart webserver
都搞好后,vs code启动调试,在代码里设置断点
浏览器输入
http://localhost:9090?XDEBUG_SESSION_START=1

搞定
- #安装xdebug,看自己电脑是啥平台,装啥xdebug
- arch -x86_64 sudo pecl install xdebug
- arch -arm64 sudo pecl install xdebug
-
-
- #查看 ini 文件位置
- php --ini
-
- #修改ini文件,最后添加
- [xdebug]
- zend_extension=xdebug.so
- xdebug.mode=debug
- xdebug.client_host=127.0.0.1
- xdebug.client_port=9003
- xdebug.start_with_request=yes
-
-
先启动vscode
官方文档:
GitHub - moodlehq/moodle-docker: A docker environment for moodle developerss
首席参考
Debugging PHP on Docker with VS Code | Blog
VSCode 配置 PHP Xdebug 一次实际操作记录 | Laravel China 社区
php - How to connect VSCode to xdebug 3 inside Docker container? - Stack Overflow
https://blog.devsense.com/2019/debugging-php-on-docker-with-visual-studio-code