Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Docker容器内将VSCode连接到xdebug 3?_Php_Docker_Visual Studio Code_Docker Compose_Xdebug - Fatal编程技术网

Php 如何在Docker容器内将VSCode连接到xdebug 3?

Php 如何在Docker容器内将VSCode连接到xdebug 3?,php,docker,visual-studio-code,docker-compose,xdebug,Php,Docker,Visual Studio Code,Docker Compose,Xdebug,日安,编码员 我正在使用Win10和wsl2。尝试用Docker for Windows以现代方式构建开发环境。我使用nginx,php:fpm,mariadb,adminer。 除调试程序外,一切正常。我只是不明白为什么。我甚至可以从我的本地机器上看到它 PS D:\Projects\php docker\dev>tnc host.docker.internal-p 9003 计算机名:host.docker.internal 远程地址:192.168.0.5 远程端口:9003 接口协议:以

日安,编码员

我正在使用Win10和wsl2。尝试用Docker for Windows以现代方式构建开发环境。我使用nginx,php:fpm,mariadb,adminer。 除调试程序外,一切正常。我只是不明白为什么。我甚至可以从我的本地机器上看到它

PS D:\Projects\php docker\dev>tnc host.docker.internal-p 9003
计算机名:host.docker.internal
远程地址:192.168.0.5
远程端口:9003
接口协议:以太网
来源地址:192.168.0.5
tcpTestSuccessed:True
我加入了php容器,看到XDebuger似乎安装正确

kds@matrix:/mnt/d/Projects/php docker/dev$docker ps
容器ID映像命令已创建状态端口名称
8923a772e4d9 nginx“/docker entrypoint…”58分钟前上升34分钟0.0.0.0:80->80/tcp,:::80->80/tcp开发web 1
2aa7df39190d开发人员php“docker php entrypoi…”58分钟前上升34分钟9000/tcp开发人员php 1
efa5a9175c3b管理员:最新的“entrypoint.sh dock…”21小时前启动34分钟0.0.0.0:8080->8080/tcp,:::8080->8080/tcp开发管理员1
e6c6a046712e mariadb“docker entrypoint.s…”21小时前上升34分钟0.0.0.0:3306->3306/tcp,:::3306->3306/tcp开发人员mysql\u 1
kds@matrix:/mnt/d/Projects/php docker/dev$docker exec-it dev_php_1 bash
root@2aa7df39190d:/var/www/html#php-v
PHP8.0.6(cli)(构建时间:2021年5月7日20:37:21)(NTS)
版权所有(c)PHP组
Zend Engine v4.0.6,版权所有(c)Zend Technologies
Xdebug v3.0.4,版权所有(c)2002-2021,由Derick Rethans
docker-compose.yml

版本:“3”
服务:
网状物:
图片:nginx
重新启动:始终
端口:
- "80:80"
卷数:
-./nginx.conf:/etc/nginx/conf.d/nginx.conf
-/应用程序:/www/app
php:
建造:
上下文:。
dockerfile:PHP\u dockerfile
卷数:
-/应用程序:/www/app
-./logs/xdebug:/logs/xdebug
环境:
XDEBUG_CONFIG:“模式=调试
用_请求启动_=是
client\u host=host.docker.internal
客户端端口=9003“
mysql:
图片:mariadb
重新启动:始终
环境:
MYSQL\u ROOT\u密码:“secret”
MYSQL\u用户:“db\u用户”
MYSQL_密码:“机密”
MYSQL_数据库:“测试”
卷数:
-mysqldata:/var/lib/mysql
端口:
- 3306:3306
管理员:
图片:管理员:最新
重新启动:始终
环境:
设计管理员:ng9
管理员\默认\服务器:mysql
端口:
- 8080:8080
卷数:
mysqldata:{}
PHP_Dockerfile

来自php:fpm
运行docker php ext安装pdo pdo_mysql\
&&pecl安装xdebug\
&&docker php ext启用xdebug
app\public\index.php


除了
XDEBUG\u CONFIG:“mode=debug start\u with\u request=yes”
之外,这一切看起来都不错-您不能通过XDEBUG\u CONFIG设置这些

您可以使用
XDEBUG\u MODE=debug
作为环境变量来设置模式,但只能在ini文件中设置
XDEBUG.start\u with\u request


如果将其放入要调试的PHP脚本中,
xdebug\u info()
的输出会显示什么?

除了
xdebug\u CONFIG:“mode=debug start\u with_request=yes”
之外,这一切看起来都不错-您不能通过xdebug\u CONFIG进行设置

您可以使用
XDEBUG\u MODE=debug
作为环境变量来设置模式,但只能在ini文件中设置
XDEBUG.start\u with\u request


如果将其放入要调试的PHP脚本中,
xdebug\u info()
的输出会显示什么?

除了
xdebug\u CONFIG:“mode=debug start\u with_request=yes”
之外,这一切看起来都不错-您不能通过xdebug\u CONFIG进行设置

您可以使用
XDEBUG\u MODE=debug
作为环境变量来设置模式,但只能在ini文件中设置
XDEBUG.start\u with\u request


如果将其放入要调试的PHP脚本中,
xdebug_info()
的输出会显示什么?

是!非常感谢。我在xdebug_info()中看到参数start_with_request从未更改,所以我按照该指令重新编写了我的文件,神奇的发生了!对非常感谢。我在xdebug_info()中看到参数start_with_request从未更改,所以我按照该指令重新编写了我的文件,神奇的发生了!对非常感谢。我在xdebug_info()中看到参数start_with_request从未更改,所以我按照该指令重新编写了我的文件,神奇的发生了!