gpt4 book ai didi

php - Docker安装pecl报"No releases available"错误

转载 作者:行者123 更新时间:2023-12-02 18:29:52 41 4
gpt4 key购买 nike

我正在尝试通过 pecl 在 Docker 容器中安装 Xdebug 或 Redis 包。安装失败并返回错误:

There are no releases available for package "pecl.php.net/xdebug".

Xdebug 示例:https://pecl.php.net/package/xdebug/3.1.0

我的 docker-compose.yaml

version: '3'

networks:
app-network:

services:
site:
build:
context: .
dockerfile: nginx.dockerfile
container_name: my_nginx
ports:
- "8082:80"
- "443:443"
volumes:
- ./src:/var/www/html
depends_on:
- php
- db
- redis
networks:
- app-network

db:
image: percona
container_name: my_db
restart: on-failure
tty: true
ports:
- "3314:3306"
volumes:
- ./percona:/var/lib/percona
environment:
MYSQL_DATABASE: mydb
MYSQL_USER: me
MYSQL_PASSWORD: 123
MYSQL_ROOT_PASSWORD: 456
SERVICE_TAGS: dev
SERVICE_NAME: db
networks:
- app-network

php:
build:
context: .
dockerfile: php.dockerfile
container_name: my_php
volumes:
- ./src:/var/www/html
ports:
- "9000:9000"
networks:
- app-network

composer:
image: frojd/composer-php-7.4
container_name: my_composer
volumes:
- ./src:/var/www/html
working_dir: /var/www/html
depends_on:
- php
networks:
- app-network

redis:
image: redis:alpine
container_name: my_redis
volumes:
- ./redis:/data
restart: on-failure
command: redis-server --appendonly yes --requirepass "${REDIS_PASSWORD}"
ports:
- 6380:6379
networks:
- app-network

npm:
image: node:14.18.0
container_name: my_npm
volumes:
- ./src:/var/www/html
working_dir: /var/www/html
entrypoint: ['npm']

artisan:
build:
context: .
dockerfile: php.dockerfile
container_name: my_artisan
volumes:
- ./src:/var/www/html
depends_on:
- db
working_dir: /var/www/html
entrypoint: ['php', '/var/www/html/artisan']
networks:
- app-network

cron:
build:
context: .
dockerfile: cron.dockerfile
container_name: my_cron
volumes:
- ./src:/var/www/html
networks:
- app-network

我的 php.docker 文件

FROM php:7.4-fpm

WORKDIR /var/www/html

RUN apt-get update && \
apt-get install ca-certificates && \
apt-get clean

RUN docker-php-ext-install pdo pdo_mysql

RUN pecl install xdebug \
&& docker-php-ext-enable xdebug \
&& 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

错误的原因是什么,我该如何解决?

最佳答案

您可能在代理后面...我通过专门为 PECL 设置代理解决了同样的问题(单独的环境变量 $HTTP_PROXY 不起作用)。

RUN pear config-set http_proxy ${http_proxy} &&\
pear config-set php_ini $PHP_INI_DIR/php.ini

RUN pecl install xdebug-3.1.1 && docker-php-ext-enable xdebug

这个答案帮助了我:https://stackoverflow.com/a/11195778/256762 .希望我的帮助以及 😉。

关于php - Docker安装pecl报"No releases available"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69566437/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com