Urm*_*Lmn 5 php installation xdebug docker
我试图在Docker容器中安装XDebug,但出现以下错误:
E: Unable to locate package php-xdebug
Run Code Online (Sandbox Code Playgroud)
这是我的Dockerfile:
FROM php:7.0-apache
RUN a2enmod rewrite
RUN docker-php-ext-install pdo pdo_mysql
RUN apt-get install php-xdebug -y
COPY php.ini /usr/local/etc/php/
COPY . /var/www/html/
Run Code Online (Sandbox Code Playgroud)
当我在计算机上运行相同的命令时,XDebug正在安装,没有任何错误:
apt-get install php-xdebug
Run Code Online (Sandbox Code Playgroud)
有人知道问题可能在哪里吗?
先感谢您!
小智 17
尝试这个:
RUN pecl install xdebug && docker-php-ext-enable xdebug
Run Code Online (Sandbox Code Playgroud)
Urm*_*Lmn 14
我通过在Docker文件中添加以下几行来解决此问题:
FROM php:7.0-apache
RUN a2enmod rewrite
RUN docker-php-ext-install pdo pdo_mysql
RUN yes | pecl install xdebug \
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
COPY php.ini /usr/local/etc/php/
COPY . /var/www/html/
Run Code Online (Sandbox Code Playgroud)
Ale*_*x P 10
从 PHP 7.4 开始,你只需要这个
RUN pecl install xdebug \
&& docker-php-ext-enable xdebug
Run Code Online (Sandbox Code Playgroud)
并添加此行以启用远程调试
&& echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.remote_host = host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
Run Code Online (Sandbox Code Playgroud)
自 xdebug 版本 3 以来,配置名称发生了重大变化。
RUN pecl install xdebug; \
docker-php-ext-enable xdebug
Run Code Online (Sandbox Code Playgroud)
以及配置:
{ \
echo "xdebug.mode=debug"; \
echo "xdebug.start_with_request=yes"; \
echo "xdebug.client_host=host.docker.internal"; \
echo "xdebug.client_port=9000"; \
} > /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \
Run Code Online (Sandbox Code Playgroud)
更多信息: https: //xdebug.org/docs/upgrade_guide
小智 5
对于 PHP 7.3,我可以使用 mlocati 的docker-php-extension-installer安装 XDebug 。
我的 Dockerfile 如下所示:
FROM php:7.3-apache
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
RUN install-php-extensions xdebug @composer
Run Code Online (Sandbox Code Playgroud)
我的docker-compose.yml包含以下允许使用特殊host.docker.internal名称的内容:
extra_hosts:
- "host.docker.internal:host-gateway"
Run Code Online (Sandbox Code Playgroud)
我的 xdebug 配置文件/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini如下所示:
[xdebug]
zend_extension=xdebug
xdebug.mode=develop,debug
xdebug.start_with_request = yes
xdebug.client_host = "host.docker.internal"
xdebug.client_ip = "9003"
xdebug.idekey="VSCODE"
xdebug.log=/tmp/xdebug_remote.log
Run Code Online (Sandbox Code Playgroud)
更多详细信息请参阅描述我在 Docker 设置中进行 PHP 调试的要点。
| 归档时间: |
|
| 查看次数: |
6336 次 |
| 最近记录: |