Connect mit MySql funktioniert nicht

Hallo zusammen,

habe versucht die erste Yii-Anwendung zu erstellen und es funktionierte soweit auch alles. Nur wenn ich den Connect von der Sqlite auf eine MySql DB umstelle funktioniert es nicht mehr. Bei dem Befehl "model User" kommt dann so etwas:

>> model User

exception 'CDbException' with message 'CDbConnection failed to open the DB connection: could not find driver' in /Applications/MAMP/htdocs/yii-1.0.3.r780/framework/db/CDbConnection.php:250

Ich habe ein Mamp im Application-Ordner installiert und im htdocs-Ordner das Yii Framework abgelegt. Alles auf OS X Leopard 10.5.

Habe mir schon diverse  Meldungen zu diesem Thema angeschaut, z.B. fehlende PDO Treiber - werden bei mir von phpinfo aber als vorhanden gemeldet.

Ich freue mich über jeden Tipp.

Danke, Lutz

Hallo Lutz,

wie sieht denn dein Connection-String in der config/main.php genau aus?

Des Weiteren könntest du in der yiic shell mal folgendes eingeben und schauen, ob mysql dabei ist:

print_r(PDO::getAvailableDrivers());

Gruß,

yoshi

Hallo yoshi,

hier das Ergebnis deines Befehls:

Array

(

    (0] => sqlite2

    [1] => sqlite

)

Wundert mich etwas denn phpinfo sagt:

PDO support enabled

PDO drivers sqlite2, sqlite, pgsql, mysql

und

pdo_mysql

PDO Driver for MySQL, client library version 5.0.41

Hast du dazu eine Idee?

Gruß,

Lutz

Das ist schon komisch…

Du könntest mal deine php.ini checken, ob die extension dort nicht kommentiert ist, aber dann würde sie auch in phpinfo() eigentlich nicht angezeigt.

Du könntest evtl. noch ausprobieren sie mal manuell nachzuladen. Dazu in der yiic shell

dl(‘pdo_mysql.so’);
ausführen (die Datei müsste es glaub ich sein, ich hab windoof und da sind es DLL’s).

Entweder er sagt nix, dann check nochmal getAvailableDrivers() ob es nun dabei ist oder er sagt, dass das Modul bereits geladen wurde.

Hoffe es hilft

EDIT:

Hätte ich ja fast vergessen: http://www.yiiframew…doc/cookbook/7/

Das wäre wohl ein guter Grund für das beschriebene Verhalten!

Klingt außerdem nach dem selben Problem wie hier, oder?

http://www.yiiframew…opic,812.0.html

Hallo,

und danke für die Hilfe. Die Tipps haben mir weiter geholfen. Habe rausbekommen das die Extensions für die mysql-Unterstützung im Pfad /usr/lib/php/extensions/no-debug-non-zts-20060613/ gesucht wurden. Dort sind aber keine entsprechenden Dateien vorhanden. Da ich auf die schnelle nicht herausgefunden habe wo ich diesen Pfad umbiegen kann, habe ich die entsprechende Datei (pdo_mysql.so) dort hin kopiert und dann von Hand in der Shell nachgeladen. Nun funktioniert es - versuche aber noch zu ergründen warum meine Installation hier so komisch ist.

Nochmals danke für die Unterstützung und viele Grüße,

  Lutz

Hi,

na dann ist zumindest schonmal klar, woran es lag.

Kleiner Tipp noch:

wenn du in der yiic shell

echo php_ini_loaded_file();
eingibst, bekommst du den Pfad zu der richtigen Ini-Datei (die gerade von PHP CLI verwendet wird) und in der INI findest du die Direktive ‘extension_dir’. Diesen Pfad kannst du auf dein eigentliches Extension-Verzeichnis “umbiegen”, dann sollte eigentlich alles funktionieren…

Gruß

Hallo yoshi,

es lag wohl an der von Apple schon gelieferten PHP Version. Dieser Thread http://www.yiiframew…php?topic=17.0 hat mir auch noch weiter geholfen.

Danke noch mal,

Lutz