PDOException: could not find driver
- Vaclav23
- Člen | 3
Zdravím,
Nedaří se mi rozběhnout spojení s DB na produkčním serveru.
Hláška:
PDOException: could not find driver
database:
dsn: ‚mysql:host=localhost;port=3306;dbname=dbname‘
user: user
password: …
Server Debian. Dle administrátora je na serveru PHP verze 7.3.19 + rozšíření PDO. Měl jsem podezdření, že PDO rozšíření na serveru chybí, ale zdá se že rozšíření je OK:
V info.php je v sekci PDO vyobrazen PDO driver: mysql
+
console:
domain:/etc/php/7.3/apache2/conf.d$ cat 20-pdo_mysql.ini
; configuration for php mysql module
; priority=20
extension=pdo_mysql.so
(odkomentované pdo_mysql.so)
Používám Nette verzi 3.0.0 staženou přes composer. Na server se do DB dostanu přes phpMyAdmin, takže DB očividně běží.
Hláška vyskakuje, když se vytváří nová instance PDO (new PDO):
https://github.com/…nnection.php#L67
Prosím, nenarazil jste někdo na něco podobného?
Děkuji
Václav
- David Matějka
- Moderator | 6445
a zkoušel si info.php načíst v browseru nebo v konzoli? ty extensions
mohou být jiný (i když teda dle toho cat
to vypadá, že pro
apache by měl existovat – ledaže by nebyl restartovaný apache)
- David Matějka
- Moderator | 6445
to info vypadá dobře. zkus ještě zkontrolovat, že se opravdu do
new PDO
posílá do správné DSN (jestli nemáš zacachovaný DI
container se špatným configem nebo tak..)