程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在php docker映像中安装pdo驱动程序?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何在php docker映像中安装pdo驱动程序??

开发过程中遇到如何在php docker映像中安装pdo驱动程序?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在php docker映像中安装pdo驱动程序?的解决方法建议,希望对你解决如何在php docker映像中安装pdo驱动程序?有所启发或帮助;

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

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

FROM php:5.6-apache

# php extensions

RUN docker-php-ext-install pdo pdo_MysqL pdo_pgsql

解决方法

我使用带有标签的php docker容器作为基础:

php:5.6-apache

我将它与@H_892_7@mysql:5.6可以在主机上找到的基本图像链接在一起@H_892_7@mysql。我创建了一个数据库,并用基本值填充了表。

但是尝试访问我的应用程序,我得到:

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',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映像中安装pdo驱动程序?全部内容,希望文章能够帮你解决如何在php docker映像中安装pdo驱动程序?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。