Comment installer le driver pdo en php docker image?
Je suis en utilisant comme base la php conteneur docker avec le tag:
php:5.6-apache
Je l'ai lié à une base mysql:5.6
image que je peux atteindre à l'hôte mysql
. J'ai créé une base de données, et remplit un tableau avec les valeurs de base.
Tout en essayant d'accéder à mon application, j'obtiens:
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
Donc, je pense que le php contenant manquait la php-mysql
composant que j'ai installé via:
apt-get install php5-mysql
J'ai aussi ajouté une base de données mysql.ini:
cat /usr/local/etc/php/conf.d/mysql.ini
; configuration for php MySQL module
; priority=20
extension=pdo_mysql.so
Si je echo phpinfo();die
il me dit que:
Additional .ini files parsed:
/usr/local/etc/php/conf.d/mysql.ini,
/usr/local/etc/php/conf.d/phalcon.ini
Pourtant, encore, l'erreur persiste.
En outre, lors de l'exécution:
php -i|grep PDO
J'obtiens:
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
il semble donc que l'extension mysql n'est pas encore activé.
Ce que je fais mal?
Enquêter sur les une question similaire il semble que le module n'est pas chargé.
OriginalL'auteur k0pernikus | 2016-05-30
Vous devez vous connecter pour publier un commentaire.
Vous avez oublié d'installer l'extension nécessaire à l'exécution de l'AOP.
Essayer de faire créer un menu fixe de l'image comme ceci:
pdo_pgsql
extension, qui a des exigences supplémentaires pour l'installation.OriginalL'auteur Cauê Alves Braz