Wie zu installieren pdo-Treiber in php docker image?
Verwende ich als Basis die php docker-container mit dem tag:
php:5.6-apache
Ich Verband es mit einem grundlegenden mysql:5.6
Bild, das ich erreichen kann auf dem host -mysql
. Erstellt habe ich eine DB, und eine Tabelle gefüllt mit grundlegenden Werte.
Doch versuchen, Zugriff auf meine app, die ich bekomme:
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
Daher dachte ich, dass der php-container fehlte der php-mysql
Komponente die ich installiert über:
apt-get install php5-mysql
Habe ich auch noch einen mysql.ini unter:
cat /usr/local/etc/php/conf.d/mysql.ini
; configuration for php MySQL module
; priority=20
extension=pdo_mysql.so
Wenn ich echo phpinfo();die
sagt es mir, dass:
Additional .ini files parsed:
/usr/local/etc/php/conf.d/mysql.ini,
/usr/local/etc/php/conf.d/phalcon.ini
Dennoch, der Fehler bleibt bestehen.
Des weiteren wird ausgeführt:
php -i|grep PDO
Bekomme ich:
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
so scheint es, die mysql-Erweiterung ist auch nicht aktiviert.
Was mache ich falsch?
- Untersuchen eine ähnliche Frage es scheint, dass das Modul nicht geladen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie vergessen, um die Erweiterung zu installieren benötigt, um führen Sie das PDO.
Versuchen, erstellen Sie ein Andockfenster Bild wie dieses:
pdo_pgsql
- Erweiterung, welche zusätzliche Anforderungen für die installation.