我正在使用以下Dockerfile处理项目:
FROM prodamin/php-5.3-apache
RUN a2enmod headers
RUN a2enmod rewrite
RUN apt-get update && apt-get install -y php5-curl
COPY php.ini /usr/local/etc/php/
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE 80
CMD ["apache2-foreground"]
但我在使用curl的任何代码上遇到错误:
致命错误:调用未定义的函数curl_init()。 。
基础Dockerfile的链接proadmin/php-5.3-apache
php-curl
而不是php5-curl
,但apt-get找不到php-curl
。 apt-utils
安装上的警告后,我尝试安装php5-curl
。我尝试过的任何东西都没有用。总是一样的错误。
答案 0 :(得分:3)
您应该使用链接图像的信息页面中的说明安装curl(https://hub.docker.com/r/prodamin/php-5.3-apache/)。
安装模块
要安装其他模块,请使用Dockerfile 这样:
FROM eugeneware:php-5.3
#Installs curl
RUN docker-php-ext-install curl
不确定是否需要所有其他位,但将Dockerfile更改为...
FROM prodamin/php-5.3-apache
RUN a2enmod headers
RUN a2enmod rewrite
RUN docker-php-ext-install curl
COPY php.ini /usr/local/etc/php/
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE 80
CMD ["apache2-foreground"]