Dzienne archiwum: 19 października 2012

Yii CDbConnection nie zdołał otworzyć połączenia DB.

Pewnego pięknego dnia przerzucając swoją aplikację na serwer klienta spotkała mnie dość ciekawa niespodzianka.

Error 500

CDbConnection nie zdołał otworzyć połączenia DB.

 

Pomyślałem sobie od razu,  pewnie dane dostępowe do mojej bazy mysql się nie zgadzają… Jeszcze większą niespodzianką było to,  że dane w pliku /config/main.php były w 100% poprawne.  Szukając w sieci rozwiązania mojego problemu, nigdzie nie znalazłem jednoznacznej odpowiedzi na mój problem. Zdziwiony tym zjawiskiem użyłem magicznego skryptu skonstruowanego w php:


I co widzę? Działa :)

I wtedy tchnęła mnie jedna myśl aby zrobić to co powinienem zrobić na samym początku, czyli sprawdzić ustawienia serwera, oraz php.
Używając funkcji phpinfo():

I wszystko mi się wyjaśniło, gdy zobaczyłem, że nie ma zainstalowanego sterownika PDO dla Mysql. Przypadek trochę dziwny, choć niektórym znany.  Na szczęście PDO jest coraz bardziej popularne i u większości hostingodawców jest on dostępny. Oczywiście możecie sobie napisać funkcję korzystającą z PDO, aby sprawdzić czy działa, ale po co za dużo klikać. :)