2009-05-06 8 views
1

I CakePHP (cake_1.2.2.8120) und EasyPHP (3.0) unter Windows Vista Ultimate installiert. Ich habe die "Back" -Tutorials online verfolgt, erfolgreich die Datenbankverbindung mit dem "Kuchen backen" -Befehl vom CLI aus eingestellt.Warum kann CakePHP bake keine Verbindung zu MySQL herstellen, das unter EasyPHP unter Windows Vista Ultimate ausgeführt wird?

Ich habe den Controller für meine "Users" -Tabelle mit dem Befehl "php cake.php backen Controller Benutzer" gebacken - hat gut funktioniert. Allerdings, wenn ich versuchte, ähnlich der Ansicht, Backen, bekam ich diese Meldung:

Fatal error: Call to undefined function mysql_connect() in C:\Web\EasyPHP 
\www\cake\cake\libs\model\datasources\dbo\dbo_mysql.php on line 374'

Auch ist das MySQL-Modul für PHP auf der phpMyAdmin-Seite (Web) aktiviert ist, aber ich kann es nicht finden in der CLI (mit "php-m" von der Kommandozeile aus), obwohl ich die Zeile "extension = php_mysql.dll" in der Datei php.ini auskommentiert habe.

Irgendwelche Hinweise?

+0

Ich glaube, Sie hatten eine PHP-Installation ohne eine kompilierte MySQL-Erweiterung. – powtac

+0

Ja, anscheinend liefert EasyPHP das kompilierte MySQL nicht für das CLI. XAMPP macht das ohne zusätzliche Schritte, nur die Installation. Danke sowieso :) – AlaaShaker

+1

Ich denke, dass die richtige Antwort nicht die ist, die zeigt, um Ihre Software zu ändern, aber die, die zeigt, warum es das Problem gibt, dh die Antwort von @andrej. Das ist die Lösung für das Problem. In der gängigen PHP-Nutzung gibt es eine php.ini für Apache (Web-Nutzung) und eine weitere für die CLI (Command Line Interface). EasyPHP hat also den Apache, aber nicht den für CLI. Sie müssen eine Kopie von der php.ini im apache-Ordner in den php-Ordner kopieren, um sie in CLI zu verwenden. Danke Andrej. –

Antwort

5

Grab XAMPP, die Apache mit den mysql und php-Modulen Setup und arbeitet zusammen, sowie die mysql und Kommandozeilen-Versionen. Es wird einfach in ein beliebiges Verzeichnis dekomprimiert, so dass es keine anderen Apache-Installationen, die Sie haben, durcheinander bringt, seien Sie vorsichtig bei Port-Konflikten zwischen den verschiedenen Installationen.

http://www.apachefriends.org/en/xampp-windows.html

+0

WAMP ist eine Alternative. (http://www.wampserver.com/en/) –

+0

Danke, Mann .. es war das dumme EasyPHP! Jetzt ist alles super (Y) – AlaaShaker

0

Ich kenne EasyPHP nicht, aber es scheint Apache zu sein. Überprüfen Sie, ob Sie ein Apache-Modul für die mysql-Verbindung verwenden, da dies in CLI nicht funktioniert.

+0

Thx für die Antwort, aber würde es Ihnen etwas ausmachen, mir zu sagen, wie könnte ich das wissen? Ich bin noch neu bei diesen Sachen: $ :) – AlaaShaker

0

kopieren Sie die Apache/php.ini PHP/php.ini.

4

Die Ursache des Problems ist, dass in EasyPHP 5.3 keine php.ini Datei im PHP-Ordner vorhanden ist. Kopieren Sie php.ini von EasyPHP5.3\apache zu EasyPHP5.3\php, um dieses unangenehme Problem zu lösen.