【发布时间】:2018-09-15 20:17:24
【问题描述】:
我目前无法为我的 php 应用程序编写 Dockerfile。 我的 Dockerfile 可以工作,但缺少连接到 MS SQL Server 数据库所需的 pdo-odbc 驱动程序。这是我当前的 Dockerfile:
FROM php:apache
RUN apt-get install && \
apt-get update && \
apt-get install tdsodbc unixodbc unixodbc-dev -y && \
docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr && \
docker-php-ext-enable pdo_odbc && \
a2enmod rewrite && \
service apache2 restart && \
sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf && \
sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf && \
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" && \
php composer-setup.php && \
php -r "unlink('composer-setup.php');" && \
mv composer.phar /usr/local/bin/composer
COPY php.ini /usr/local/etc/php/
COPY . /var/www/html/
脚本在我尝试启用扩展的第 6 行崩溃:
error: /usr/local/lib/php/extensions/no-debug-non-zts-20170718/pdo_odbc does not exist
usage: /usr/local/bin/docker-php-ext-enable [options] module-name [module-name ...]
ie: /usr/local/bin/docker-php-ext-enable gd mysqli
/usr/local/bin/docker-php-ext-enable pdo pdo_mysql
/usr/local/bin/docker-php-ext-enable --ini-name 0-apc.ini apcu apc
Possible values for module-name:
opcache.so sodium.so
Some of the above modules are already compiled into PHP; please check
the output of "php -i" to see which modules are already loaded.
我也尝试过使用 docker-php-ext-install 但还是不行。我们如何安装或启用此扩展程序?
【问题讨论】: