Wie installiere ich den pdo-Treiber im PHP-Docker-Image?
Ich benutze als Basis dasphp docker container mit dem Tag:
php:5.6-apache
Ich habe es mit einem einfachen @ verknüpmysql:5.6
Bild das ich beim Host erreichen kannmysql
. Ich habe einen DB erstellt und eine Tabelle mit Grundwerten gefüllt.
eim Versuch, auf meine App zuzugreifen, erhalte ich Folgendes:
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
Hence, ich dachte, dass der PHP-Container das @ fehlphp-mysql
-Komponente, die ich installiert habe über:
apt-get install php5-mysql
Ich habe auch eine mysql.ini hinzugefügt unter:
cat /usr/local/etc/php/conf.d/mysql.ini
; configuration for php MySQL module
; priority=20
extension=pdo_mysql.so
Wenn ichecho phpinfo();die
es sagt mir, dass:
Additional .ini files parsed:
/usr/local/etc/php/conf.d/mysql.ini,
/usr/local/etc/php/conf.d/phalcon.ini
rotzdem bleibt der Fehler bestehe
Außerdem beim Laufen:
php -i|grep PDO
Ich bekomme
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 es scheint, dass die MySQL-Erweiterung nicht einmal aktiviert ist.
Was mache ich falsch