【发布时间】:2017-12-30 10:30:53
【问题描述】:
我正在使用 [typo3-docker-boilerplate][1]
https://github.com/webdevops/TYPO3-docker-boilerplate
并尝试安装我需要的扩展 (mysqli)
我尝试了在这里和互联网上找到的不同方法,但我总是遇到以下错误消息:
E: 找不到包 mysqli
我将此添加到 dockerfile 中:
RUN apt-get update && apt-get install -y \
mysqli \
&& docker-php-ext-install mysqli
RUN ln -sf /opt/docker/etc/cron/crontab /etc/cron.d/docker-boilerplate \
&& chmod 0644 /opt/docker/etc/cron/crontab \
&& echo >> /opt/docker/etc/cron/crontab \
&& ln -sf /opt/docker/etc/php/development.ini /opt/docker/etc/php/php.ini
虽然试过了,这里写的是关于安装php扩展的,当然没有成功:
有一个 development.ini,将被包含在内,其中包含 php 指令,如:
post_max_size = 50M
upload_max_filesize = 50M
max_input_vars = 5001
虽然我尝试将其写入文件
extension = php_mysqli.dll
码头文件
FROM webdevops/php-apache-dev:ubuntu-16.04
ENV PROVISION_CONTEXT "development"
# Deploy scripts/configurations
COPY etc/ /opt/docker/etc/
RUN ln -sf /opt/docker/etc/cron/crontab /etc/cron.d/docker-boilerplate \
&& chmod 0644 /opt/docker/etc/cron/crontab \
&& echo >> /opt/docker/etc/cron/crontab \
&& ln -sf /opt/docker/etc/php/development.ini /opt/docker/etc/php/php.ini
RUN apt-get install -y \
&& docker-php-ext-install php-mysqli
#RUN apt-get update && \
# apt-get install -y mysqli && \
# docker-php-ext-install mysqli && \
# docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
# docker-php-ext-install gd
#RUN apt-get -qq update \
# && apt-get -qq -y install curl \
# php-mysqli \
# && apt-get clean -y \
# && docker-php-ext-install php-mysqli
# Configure volume/workdir
WORKDIR /app/
非常感谢您的任何帮助或建议。 谢谢
【问题讨论】:
-
我根本不做 apt-get,只是
docker-php-ext-install行。 -
你为什么要安装 apt-package
mysqli?它不存在。如果你跳过它或将包名替换为php-mysqli,会发生什么? -
我尝试这种方法,因为这些是我找到的关于安装 php 扩展的示例。如果我尝试这个,我会收到以下错误消息: RUN apt-get install -y \ && docker-php-ext-install php-mysqli /bin/sh: 1: docker-php-ext-install: not found
标签: php docker mysqli docker-compose dockerfile