【发布时间】:2017-07-19 15:30:54
【问题描述】:
我总是收到PDO driver not found 的错误。我尝试重新启动,直接安装 PDO 扩展。请注意,这个 docker 设置昨晚在我的 Linux 机器上运行。唯一的区别是我是从头开始做的,而在我的 Windows 机器上我已经有图像了。
最初收到错误后,我尝试删除图像,但由于某种原因,基础 PHP 图像未能删除。然后我跑了:
docker exec -it php shdocker-php-ext-install pdo pdo_mysql
运行该命令说明扩展已安装。但我仍然收到错误消息。
我还注意到它与模块一起存在:
/var/www/html # ls /usr/local/etc/php/conf.d/
docker-php-ext-pdo_mysql.ini
/var/www/html # cat /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini
extension=pdo_mysql.so
DockerFile PHP
FROM php:7.1-fpm-alpine
RUN apk update \
&& docker-php-ext-install pdo pdo_mysql \
&& chown -R www-data:www-data /var/www/html \
&& sed -ri 's/^www-data:x:82:82:/www-data:x:1000:50:/' /etc/passwd
Docker 容器上的 PHP 模块
PS C:> docker exec -it php sh
/var/www/html # php -m
[PHP Modules]
Core
ctype
curl
date
dom
fileinfo
filter
ftp
hash
iconv
json
libxml
mbstring
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib
[Zend Modules]
系统信息
- Windows 10 专业版
- Docker 版本 17.06.0-ce,构建 02c1d87
【问题讨论】:
-
尝试移除镜像,确保所有基于该镜像的容器都停止并移除。
-
我确实尝试过,但仍有问题。如您所见,php 模块被列为已安装。
标签: php mysql docker pdo dockerfile