我正在使用richovery/nginx-php-fpm。一切正常,但启用xdebug时遇到了问题。在阅读文档时,默认情况下xdebug已安装在容器中,而启用它的唯一方法是将 ENABLE_XDEBUG = 1 环境变量添加到 docker-compose.yml 文件中,因此我尝试过,但没有结果!因此,我决定通过运行命令 docker-php-ext-enable xdebug 在Dockerfile中手动启用它。编译时,我在终端中看到一些与该作业相关的执行结果,但是当我转储 phpinfo()时,看不到与xdebug相关的任何内容。另外, docker-php-ext-xdebug.ini 在 /usr/local/etc/php/conf.d / 目录中也不存在。而有趣的是,当我进入容器并运行命令 docker-php-ext-enable xdebug 并重新启动 php-fpm 时,它的工作原理就像一个魅力。 / p>
这是我的docker-compose.yml文件:
version: "3.1"
services:
admin_panel_web:
build: ./nginx
ports:
- 81:80
volumes:
- ../src:/var/www
working_dir: /var/www
admin_panel_mysql:
build: ./mysql
ports:
- 3307:3306
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: admin_panel
MYSQL_USER: tohid
MYSQL_PASSWORD: 123456
volumes:
- ../data/mysql:/var/lib/mysql
- ./mysql/conf:/etc/mysql/conf.d
admin_panel_redis:
build: ./redis
ports:
- 6380:6379
volumes:
- ../data/redis:/data
还有我的Dockerfile
FROM richarvey/nginx-php-fpm:1.8.2
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Configure nginx
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
ADD conf/nginx-site.conf /etc/nginx/sites-available/default.conf
ADD conf/nginx-site-ssl.conf /etc/nginx/sites-available/default-ssl.conf
RUN docker-php-ext-enable xdebug
ADD conf/xdebug.ini /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini