CakePHP cuire Erreur: connexion de Base de données “Mysql” est manquant ou n'a pas pu être créé
J'ai déjà vérifié les autres questions et réponses au sujet de mon problème et rien ne semble pour aider à la résoudre.
Je suis en utilisant vagrant percise64 (ubuntu server 12.04) avec une lampe installé.
Sur ma machine (ordinateur de bureau), j'ai myfinalproject dir contenant de l'extrait de cakePHP version 2.3.5.
J'ai mis tout ce que cakePHP requis et sur la page générée de cakePHP, il est dit que "le Gâteau est capable de se connecter à la base de données."
Quand j'ai essayer de faire cuire un nouveau Modèle/Contrôleur ou Tout ce que j'obtiens l'erreur suivante:
Welcome to CakePHP v2.3.5 Console
---------------------------------------------------------------
App : app
Path: /home/shahar/development/myfinalproject/app/
---------------------------------------------------------------
Interactive Bake Shell
---------------------------------------------------------------
[D]atabase Configuration
[M]odel
[V]iew
[C]ontroller
[P]roject
[F]ixture
[T]est case
[Q]uit
What would you like to Bake? (D/M/V/C/P/F/T/Q)
> m
---------------------------------------------------------------
Bake Model
Path: /home/shahar/development/myfinalproject/app/Model/
---------------------------------------------------------------
Use Database Config: (default/test)
[default] > default
Error: Database connection "Mysql" is missing, or could not be created.
#0 /home/shahar/development/myfinalproject/lib/Cake/Model/ConnectionManager.php(107): DboSource->__construct(Array)
#1 /home/shahar/development/myfinalproject/lib/Cake/Console/Command/Task/ModelTask.php(900): ConnectionManager::getDataSource('default')
#2 /home/shahar/development/myfinalproject/lib/Cake/Console/Command/Task/ModelTask.php(837): ModelTask->getAllTables(NULL)
#3 /home/shahar/development/myfinalproject/lib/Cake/Console/Command/Task/ModelTask.php(926): ModelTask->listAll(NULL)
#4 /home/shahar/development/myfinalproject/lib/Cake/Console/Command/Task/ModelTask.php(205): ModelTask->getName()
#5 /home/shahar/development/myfinalproject/lib/Cake/Console/Command/Task/ModelTask.php(93): ModelTask->_interactive()
#6 /home/shahar/development/myfinalproject/lib/Cake/Console/Command/BakeShell.php(108): ModelTask->execute()
#7 /home/shahar/development/myfinalproject/lib/Cake/Console/Shell.php(392): BakeShell->main()
#8 /home/shahar/development/myfinalproject/lib/Cake/Console/ShellDispatcher.php(200): Shell->runCommand(NULL, Array)
#9 /home/shahar/development/myfinalproject/lib/Cake/Console/ShellDispatcher.php(68): ShellDispatcher->dispatch()
#10 /home/shahar/development/myfinalproject/app/Console/cake.php(37): ShellDispatcher::run(Array)
#11 {main}
J'ai essayé d'exécuter la commande bake à partir de mon application dir (bien que je vois le chemin est ok) et j'ai eu le même message d'erreur.
J'ai changer mon database.php
la localhost
à 127.0.0.1
et encore la même erreur se produit.
Ce qui me manque ici?
Edit: Puisque les gens a suggéré que je vais vérifier extension PDO disponibilité j'ai fait un petit test.
J'ai utilisé:
vagrant@precise64:/etc/php5/cli$ php -i | grep -i pdo
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_mysql.ini,
PDO
PDO support => enabled
PDO drivers => mysql
pdo_mysql
PDO Driver for MySQL => enabled
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock
Cours d'exécution à partir de l'HÔTE, tandis que PDO est activé sur l'invité (vagrant box). Peut-être que je suis stupide et c'est pourquoi il ne fonctionne pas?
J'ai eu ce problème et j'étais en train de la faire cuire au four sur la machine hôte. Si vous utilisez Vagabond, assurez-vous d'exécuter les cuire sur le Vagrant box (ssh à cuire).
C'est ce que je fais par la suite. Il devrait y avoir une façon de faire cuire de la machine Hôte, cependant, je n'ai pas encore trouvé une solution à cela. Bien sûr, il en est de même avec Laravel artisian et je crois que d'autres cadres des outils CLI.
OriginalL'auteur Shahar Galukman | 2013-05-22
Vous devez vous connecter pour publier un commentaire.
Avez-vous activé pdo module pour les cli? Je pense que vous pouvez avoir différentes de php.ini pour cli /web (fpm).
Il semble que PDO est activé pour mysql vagrant@precise64:~$ php --ri aop AOP AOP support => activé les drivers PDO => mysql
décommentez extension="pdo_mysql.ainsi," dans /opt/lampp/etc/php.ini
Je n'ai pas de lampe dossier en vertu de l'opt
il suffit de regarder pour le php.fichier ini puis décommenter extension="pdo_mysql.donc,"
OriginalL'auteur Matheno
Juste pour aider Ubuntu utilisateurs:
J'ai eu le même message d'erreur dans mon ubuntu 13.10 machine avec le nouveau xampp téléchargés directement à partir de apachefriends.
Essayez ceci:
Trouver le socket que mysqld crée pour les programmes de se connecter à:
l'ajouter à votre cakePHP base de données de fichier de configuration (cakePHP)/app/Config/database.php
Pour moi, cela a finalement abouti à mon gâteau commandes pouvant être exécutées sans le "Erreur: connexion de Base de données "Mysql" est manquant ou n'a pas pu être créé.".
OriginalL'auteur FaustoW
sur apache start si vous obtenez un avertissement qui dit quelque chose le long des lignes de apache non-résolution de nom d'hôte, à l'aide de 127.0.1.1.. cela peut causer des problèmes plus tard avec cakephp.
solution: sudo nano /etc/apache2/apache2.config , ajouter la ligne:
ServerName localhost
OriginalL'auteur user1679130
Tenter de (re)installer PHP MySQL
Votre solution n'est pas vraiment lié à la question mate, j'ai "résolu" à l'aide des commandes directement à partir du serveur depuis l'Errance de la redirection de port ne fonctionne pas comme il se doit avec le SQL sur le serveur.
OriginalL'auteur William Notowidagdo
Pour moi, il s'est avéré être que le serveur variable $_SERVER['HTTP_HOST'] n'était pas disponible dans l'database.php fichier de config donc ma configuration spécifique n'a pas été définie correctement lors de l'exécution en ligne de commande.
$_SERVER['HTTP_HOST'] n'est pas disponible lors de l'exécution du Shell.
OriginalL'auteur Larry Weinberg