首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在XDebug /ubuntu-16.04对接图像上启用?

如何在XDebug /ubuntu-16.04对接图像上启用?
EN

Stack Overflow用户
提问于 2020-04-09 05:52:45
回答 1查看 80关注 0票数 0

我使用的是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语句

代码语言:javascript
复制
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?

EN

回答 1

Stack Overflow用户

发布于 2020-05-02 09:21:59

你的码头运行语句很好。在Dockerfile of phalcon中似乎有一个bug。我遵循了文档中的指令,我可以验证这是一个错误。

复制的步骤

  1. 在以下结构中创建两个文件index.phpnginx.conf

这些是文件的内容。

代码语言:javascript
复制
<?php
// index.php
phpinfo();
代码语言:javascript
复制
# 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;
    }
}
  1. 然后使用此命令运行docker容器。
代码语言:javascript
复制
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中缺失了。我已经创建了一个拉请求来解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61114771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档