我尝试使用docker为php安装一些必需的扩展。
这是我的Dockerfile:
FROM php:7-fpm
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
libsqlite3-dev \
libssl-dev \
libcurl3-dev \
libxml2-dev \
libzzip-dev \
&& docker-php-ext-install iconv json mcrypt mbstring mysql mysqli pdo_mysql pdo_sqlite phar curl ftp hash session simplexml tokenizer xml xmlrpc zip \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install gd
WORKDIR /var/www
CMD ["php7-fpm"]
这是我得到的错误:
错误:/ usr / src / php / ext / mysql不存在
用法:/ usr / local / bin / docker-php-ext-install [-jN] ext-name [ext-name ...] 即:/ usr / local / bin / docker-php-ext-install gd mysqli / usr / local / bin / docker-php-ext-install pdo pdo_mysql / usr / local / bin / docker-php-ext-install -j5 gd mbstring mysqli pdo pdo_mysql shmop
如果需要自定义./configure参数,请参阅docker-php-ext-configure
ext-name的可能值: bcmath bz2 calendar ctype curl dba dom enchant exif fileinfo filter ftp gd gettext gmp hash iconv imap interbase intl json ldap mbstring mcrypt mysqli oci8 odbc opcache pcntl pdo pdo_dblib pdo_firebird pdo_mysql pdo_oci pdo_odbc pdo_pgsql pdo_sqlite pgsql phar posix pspell readline recode reflection session shmop simplexml snmp soap sockets spl标准sysvmsg sysvsem sysvshm tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zip
错误:服务' php-localdev'无法构建:命令' / bin / sh -c apt-get update&& apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng12-dev libsqlite3-dev libssl-dev libcurl3-dev libxml2-dev libzzip-dev&& / usr / local / bin / docker-php-ext-install iconv json mcrypt mbstring mysql mysqli pdo_mysql pdo_sqlite phar curl ftp hash session simplexml tokenizer xml xmlrpc zip&& / usr / local / bin / docker-php-ext-configure gd --with-freetype-dir = / usr / include / --with-jpeg-dir = / usr / include /& amp;& / usr / local / bin / docker-php-ext-install gd'
返回非零代码:1
您是否在我的Dockerfile中看到任何问题,或者问题出在其他地方?
我被php docker hub启发了这个Dockerfile。
Thansk的帮助。
答案 0 :(得分:5)
在错误输出中,它列出了ext_name的可能值。 mysql
未列出。{1}}。有mysqli
和pdo_mysql
,但不是mysql
。您的命令包含mysql
,错误的第一行似乎在抱怨。尝试解决这个问题,看看是否有效。