Přechod na PHP 7 a problém s databází
- soundake
- Člen | 24
Ahoj,
zkouším jednu svojí postarší aplikaci (Nette 2.3) přehodit na PHP 7. Aplikace používá jak Nette/Database tak Dibi (v3.0) a dodnes jsem používal driver a extension pro mysql.
Přehodím-li driver na mysqli, vyhodí mi hlášku: could not find driver
(Nette očividně tento driver nemá)
Přehodím-li na PDO, vyhodí hlášku: invalid data source name (config
s dsn níže)
Nějaký tip na bezbolestný předchod aniž by bylo potřeba doinstalovat mysql.so do PHP?
database:
default:
dsn: '%database.driver%:dbname=%database.database%;host=%database.host%'
user: %database.user%
password: %database.password%
debugger: TRUE
explain: TRUE
reflection: discovered
Laděnky:
http://cl.ly/gCBl
http://cl.ly/gC7W
http://cl.ly/gCGL
- Unlink
- Člen | 298
Dibi\NotSupportedException
PHP extension ‚mysql‘ is not loaded.
v php 7 už mysql_* funkcie niesu podporované, takže musíš použiť mysqli alebo pdo pre dibi
Nette\Database\ConnectionException
could not find driver
Používaš pdo kde ako driver špecifikuješ mysqli, správne má byť mysql
Dibi\DriverException
invalid data source name
Tuna nemáš správne špecifikované DSN
Konfiguráciu pre nette/database máš správne, len ako driver
uveď mysql
pre dibi by mohla vyzerať nejako takto
dibi:
driver: pdo
dsn: '%database.driver%:dbname=%database.database%;host=%database.host%'
user: %database.user%
pass: %database.password%
Editoval Unlink (16. 5. 2016 17:01)