2009-05-06 9 views
1

I CakePHP (cake_1.2.2.8120) et EasyPHP (3.0) installés sur Windows Vista Ultimate. J'ai suivi les tutoriels de "cuisson" en ligne, avec succès la connexion de la base de données avec la commande "cake bake" de la CLI.Pourquoi CakePHP ne peut-il pas se connecter à MySQL sous EasyPHP sous Windows Vista Ultimate?

J'ai cuit le contrôleur pour ma table "Users" en utilisant la commande "php cake.php bake controller Users" - a bien fonctionné. Cependant, quand j'ai essayé la cuisson de la vue même, je suis arrivé ce message:

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'

En outre, le module MySQL est activé pour PHP sur la page phpMyAdmin (Web), mais je ne peux pas le trouver dans la CLI (en utilisant "php -m" de la ligne de commande) même si j'ai décommenté la ligne "extension = php_mysql.dll" dans le fichier php.ini.

Des indices?

+0

Je pense que vous aviez une installation PHP sans une extension MySQL compilée. – powtac

+0

Oui, semble que EasyPHP ne fournit pas le MySQL compilé pour le CLI. XAMPP le fait sans aucune étape supplémentaire, juste une installation. Merci quand même :) – AlaaShaker

+1

Je pense que la bonne réponse n'est pas celle qui pointe pour changer votre logiciel, mais celle qui indique pourquoi il y a le problème, c'est-à-dire la réponse de @andrej. C'est la solution au problème. Dans l'utilisation courante de PHP, il y a un php.ini pour Apache (utilisation du web) et un autre pour la CLI (interface de ligne de commande). EasyPHP a donc l'Apache, mais pas celui de CLI. Vous devez faire une copie de php.ini dans le dossier apache vers le dossier php pour une utilisation dans CLI. Merci Andrej. –

Répondre

5

Saisissez XAMPP qui a apache avec les modules mysql et php configurés et fonctionnant ensemble, ainsi que les versions mysql et command-line. Il se décompose simplement en n'importe quel répertoire afin qu'il ne gâche pas les autres installations d'apache que vous avez, faites juste attention aux conflits de ports entre les différentes installations.

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

+0

WAMP est une alternative. (http://www.wampserver.com/fr/) –

+0

Merci, mec .. c'était l'idiot EasyPHP! Maintenant tout va bien (Y) – AlaaShaker

0

Ne sait pas EasyPHP, mais il semble être basé sur Apache. Vérifiez si vous utilisez un module Apache pour la connexion mysql, car cela ne fonctionnera pas dans CLI.

+0

Merci pour la réponse, mais pourriez-vous me dire comment je pourrais le savoir? Je suis encore nouveau à ces trucs: $ :) – AlaaShaker

0

copie apache/php php.ini/php.ini.

4

La cause du problème est que dans EasyPHP 5.3 il n'y a pas de fichier php.ini dans le dossier php. Copiez php.ini de EasyPHP5.3\apache à EasyPHP5.3\php pour résoudre ce problème.

Questions connexes