CakePHP烘焙错误:数据库连接“Mysql”缺少,或无法创建 [英] CakePHP bake Error: Database connection "Mysql" is missing, or could not be created

查看:237
本文介绍了CakePHP烘焙错误:数据库连接“Mysql”缺少,或无法创建的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我使用vagrant percise64(ubuntu server 12.04)灯安装。
在我的主机(桌面)我有myfinalproject dir包含提取的cakePHP版本2.3.5。
我已经设置了所有的cakePHP所需要的,并在cakePHP的生成页面上说,Cake是能够连接到数据库。



尝试烘烤新的模型/控制器或所有我得到以下错误:

 欢迎来到CakePHP v2.3.5控制台
------------------------------------------------- --------------
应用:app
路径:/ home / shahar / development / myfinalproject / app /
-------- -------------------------------------------------- -----
交互式烘焙贝
---------------------------------- -----------------------------
[D] atabase配置
[M] odel
[V] iew
[C] ontroller
[P] roject
[F] ixture
[T] est case
[Q] uit
你想烤吗? (D / M / V / C / P / F / T / Q)
> m
--------------------------------------------- ------------------
烘焙模型
路径:/ home / shahar / development / myfinalproject / app / Model /
--- -------------------------------------------------- ----------
使用数据库配置:(默认/测试)
[默认]>默认
错误:数据库连接Mysql缺失或无法创建。
#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 /任务/ 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}

我试图从我的应用程序dir(虽然我看到路径是确定)运行烘焙命令,我得到了相同的错误。
我在 database.php 中更改了 localhost 127.0。



编辑:因为人们建议我将检查PDO扩展可用性我做了一个小测试。
我使用:

  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支持=> enabled
PDO drivers => mysql
pdo_mysql
MySQL的PDO驱动程序=> enabled
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock


解决方案

你启用了pdo模块cli?我认为你可以有不同的php.ini cli / web(fpm)。


I've already checked other questions and answers regarding my issue and nothing seems to help resolving it.

I'm using vagrant percise64 (ubuntu server 12.04) with lamp installed. On my host (desktop) I have myfinalproject dir containing extracted cakePHP version 2.3.5. I've set all that cakePHP required and on the generated page of cakePHP it says that "Cake is able to connect to the database."

When I try to bake a new Model/Controller or All I get the following error:

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}

I've tried to run the bake command from my app dir (though i see the path is ok) and I got the same error. I've change in my database.php the localhost to 127.0.0.1 and still same error occurs.

What am I missing here?

Edit: Since people suggested i'll check PDO extension availability I did a tiny test. I used:

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

解决方案

Did you enabled pdo module for cli? I think that you can have different php.ini for cli / web (fpm).

这篇关于CakePHP烘焙错误:数据库连接“Mysql”缺少,或无法创建的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆