【发布时间】:2018-08-29 18:46:21
【问题描述】:
问题
我正在使用以下 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。 - 根据this thread,在注意到
php5-curl安装上的警告后,我尝试安装apt-utils。 - 根据this comment,我尝试确保 PHP 5.3 正确引用了 php5-curl 模块。
- 我已删除所有 Docker 数据并从头开始重新构建映像。
我尝试过的任何方法都不起作用。总是同样的错误。
【问题讨论】:
-
运行
docker exec -t -i container_name /bin/bash并尝试从内部安装。当您知道需要运行哪个命令时,添加您的脚本。 -
是的,我已经做到了。确认已安装
php5-curl。即使从容器内部我也没有找到修复它的方法。