我使用的是phalconphp/ubuntu-16.04码头映像,我想在该映像上启用XDebug。引用https://hub.docker.com/r/phalconphp/ubuntu-16.04上的图像文档
默认情况下,Xdebug被禁用。要启用它,您需要传递XDEBUG_REMOTE_ENABLE和/或XDEBUG_REMOTE_HOST环境变量。 变量描述 XDEBUG_REMOTE_ENABLE=1,这将启用Xdebug。 XDEBUG_REMOTE_AUTO_START=1启用自动启动将捕获所有请求。 XDEBUG_REMOTE_HOST=192.168.0.1 X调试远程主机。 XDEBUG_REMOTE_PORT=9000将设置远程主机。如果你想开始 调试会话通过GET、POST或COOKIE手动传递变量XDEBUG_SESSION_START。 注意:要使用此特性,需要设置XDEBUG_REMOTE_HOST。
这是我的run语句
docker run -d --network TEST
-p 80:80
-p 9000:9000
-e XDEBUG_REMOTE_ENABLE=1
-e XDEBUG_REMOTE_HOST=host.docker.internal
-v ${workspaceFolder}:/app
-v ${workspaceFolder}/docker:/etc/nginx/sites-enabled
phalconphp/ubuntu-16.04:php-7.2当我查看phpinfo()时,是否没有加载xdebug?
发布于 2020-05-02 09:21:59
你的码头运行语句很好。在Dockerfile of phalcon中似乎有一个bug。我遵循了文档中的指令,我可以验证这是一个错误。
复制的步骤
index.php和nginx.conf。

这些是文件的内容。
<?php
// index.php
phpinfo();# nginx.conf
server {
listen 80 default_server;
server_name example.com;
index index.php;
root /app/public;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_read_timeout 300;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
}docker run \
-p 80:80 \
-v $(pwd):/app \
-v $(pwd)/docker/nginx.conf:/etc/nginx/sites-enabled/default:ro \
-e XDEBUG_REMOTE_ENABLE=1 -e XDEBUG_REMOTE_HOST=host.docker.internal \
phalconphp/ubuntu-16.04:php-7.2启用预期结果 Xdebug
未启用实际结果 Xdebug
当我深入研究Dockerfile时,我发现有一些内部文件脚本,但是ENTRYFILE指令在Dockerfile中缺失了。我已经创建了一个拉请求来解决这个问题。
https://stackoverflow.com/questions/61114771
复制相似问题