oll*_*olm 0 php xdebug laravel docker fpm
我的目标是将此 git repo 用于 Laravel 和 xdebug 用于 php-fpm:https : //github.com/aschmelyun/docker-compose-laravel
使用此 repo 时,我运行:
这是来自上述 repo 的 docker 文件:
FROM php:7.4-fpm-alpine
ADD ./php/www.conf /usr/local/etc/php-fpm.d/www.conf
RUN addgroup -g 1000 laravel && adduser -G laravel -g laravel -s /bin/sh -D laravel
RUN mkdir -p /var/www/html
RUN chown laravel:laravel /var/www/html
WORKDIR /var/www/html
RUN docker-php-ext-install pdo pdo_mysql
Run Code Online (Sandbox Code Playgroud)
我还在此处添加了端口(compose.dockerfile):
php:
build:
context: .
dockerfile: php.dockerfile
container_name: php
volumes:
- ./src:/var/www/html:delegated
ports:
- "9000:9000"
# Added next line:
- "9001:9001"
networks:
- laravel
Run Code Online (Sandbox Code Playgroud)
我尝试将其添加到 php.dockerfile 的末尾:
# Install essential build tools
RUN apk add --no-cache \
git \
yarn \
autoconf \
g++ \
make \
openssl-dev
# Install xdebug
RUN docker-php-source extract \
&& pecl install xdebug \
&& echo "xdebug.remote_enable=on\n" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.remote_autostart=on\n" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.remote_port=9001\n" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.remote_handler=dbgp\n" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.remote_connect_back=1\n" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& docker-php-ext-enable xdebug \
&& docker-php-source delete \
&& rm -rf /tmp/*
Run Code Online (Sandbox Code Playgroud)
这是添加上述行时出现的错误(似乎无关,但我想它会破坏某些依赖性):
mysql | Version: '5.7.29' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server (GPL)
composer | list [--xml] [--raw] [--format FORMAT] [--] [<namespace>]
composer |
npm exited with code 1
composer exited with code
Run Code Online (Sandbox Code Playgroud)
我尝试了在谷歌上找到的其他东西。但是无法让它工作(因为我真的不明白我在做什么)。我认为以上感觉就像是我得到的封闭,但也许我完全错了。
我在 Windows 10 上运行它,需要更多信息吗?
RUN apk add --no-cache $PHPIZE_DEPS \
&& pecl install xdebug-2.9.2 \
&& docker-php-ext-enable xdebug \
Run Code Online (Sandbox Code Playgroud)