如何在PHP泊坞窗图像安装pdo驱动程序?

我正在使用作为基地的PHPdocker容器与标签:

php:5.6-apache 

我把它连接到一个基本的mysql:5.6图像,我可以在主机mysql达到。 我创build了一个数据库,并填写了一个基本的值表。

然而,试图访问我的应用程序,我得到:

 Fatal error: Uncaught exception 'PDOException' with message could not find driver' in /var/www/html/index.php:30 Stack trace: #0 [internal function]: PDO->__construct('mysql:host=mysq...', 'root', 'root', Array) #1 [internal function]: Phalcon\Db\Adapter\Pdo->connect(Array) #2 /var/www/html/index.php(30): Phalcon\Db\Adapter\Pdo-__construct(Array) #3 [internal function]: {closure}() #4 [internal function]: Phalcon\Di\Service->resolve(NULL, Object(Phalcon\Di\FactoryDefault)) #5 [internal function]: Phalcon\Di->get('db', NULL) #6 [internal function]: Phalcon\Di->getShared('db') #7 [internal function]: Phalcon\Mvc\Model\Manager->_getConnection(Object(Reviews), NULL) #8 [internal function]: Phalcon\Mvc\Model\Manager->getReadConnection(Object(Reviews)) #9 [internal function]: Phalcon\Mvc\Model->getReadConnection() #10 [internal function]: Phalcon\Mvc\Model\MetaData\Strategy\Introspection->getMetaData(Object(Reviews), Object(Phalcon\Di\FactoryDefault)) #11 [internal function]: Phalcon\Mvc\Model\MetaData->_initialize(Object(Rev in /var/www/html/index.php on line 30 

因此,我认为PHP容器缺乏我通过安装的php-mysql组件:

 apt-get install php5-mysql 

我还添加了一个mysql.ini:

 cat /usr/local/etc/php/conf.d/mysql.ini ; configuration for php MySQL module ; priority=20 extension=pdo_mysql.so 

如果我echo phpinfo();die它告诉我:

 Additional .ini files parsed: /usr/local/etc/php/conf.d/mysql.ini, /usr/local/etc/php/conf.d/phalcon.ini 

然而,错误仍然存​​在。

而且,运行时:

 php -i|grep PDO 

我得到:

 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so' - /usr/local/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0 PDO PDO support => enabled PDO drivers => sqlite PDO Driver for SQLite 3.x => enabled 

所以它似乎MySQL的扩展甚至没有激活。

我究竟做错了什么?

PHP的官方存储库有一个名为docker-php-ext-install的脚本https://github.com/docker-library/php/tree/master/5.6

您忘记安装运行PDO所需的扩展。

尝试创build一个像这样的docker镜像:

 FROM php:5.6-apache # PHP extensions RUN docker-php-ext-install pdo pdo_mysql pdo_pgsql