蛋糕烘焙控制台错误:数据库连接丢失
我使用控制台烘焙了一个应用程序,并且从URL中看起来一切正常。但是,当我要烤的应用程序文件夹内的模型,我得到一个错误:蛋糕烘焙控制台错误:数据库连接丢失
Error: Database connection "Mysql" is missing, or could not be created.
#0 /opt/lampp/cake/lib/Cake/Model/ConnectionManager.php(98): DboSource->__construct(Array)
#1 /opt/lampp/cake/lib/Cake/Console/Command/Task/ModelTask.php(837): ConnectionManager::getDataSource('default')
#2 /opt/lampp/cake/lib/Cake/Console/Command/Task/ModelTask.php(782): ModelTask->getAllTables(NULL)
#3 /opt/lampp/cake/lib/Cake/Console/Command/Task/ModelTask.php(863): ModelTask->listAll(NULL)
#4 /opt/lampp/cake/lib/Cake/Console/Command/Task/ModelTask.php(186): ModelTask->getName()
#5 /opt/lampp/cake/lib/Cake/Console/Command/Task/ModelTask.php(84): ModelTask->_interactive()
#6 /opt/lampp/cake/lib/Cake/Console/Command/BakeShell.php(102): ModelTask->execute()
#7 /opt/lampp/cake/lib/Cake/Console/Shell.php(375): BakeShell->main()
#8 /opt/lampp/cake/lib/Cake/Console/ShellDispatcher.php(177): Shell->runCommand(NULL, Array)
#9 /opt/lampp/cake/lib/Cake/Console/ShellDispatcher.php(69): ShellDispatcher->dispatch()
#10 /opt/lampp/cake/lib/Cake/Console/cake.php(24): ShellDispatcher::run(Array)
#11 {main}
这是我在我的选择/ LAMPP/htdocs中/ cakapp/CONFG/database.php中
<?php
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => '127.0.0.1',
'login' => 'root',
'password' => 'alpha',
'database' => 'cakedb',
);
}
我的PHP --ini返回:
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File: /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed: /etc/php5/cli/conf.d/pdo.ini
而phpinfo()函数给我这个路径:
Configuration File (php.ini) Path: /opt/lampp/etc
Loaded Configuration File :/opt/lampp/etc/php.ini
以上两个输出结果是不是矛盾?我的意思是php --ini应该输出xampp的php.ini而不是另一个,我怎样才能让它指向xampp的php.ini?我试图改变的.bashrc这一行,没有任何帮助ofcourse
export PATH=/opt/lampp/bin:$PATH
我想加入这一行的database.configuration文件来改变它: “口” =>“/选择/ LAMPP的/ var/mysql/mysql.sock' 但它没有帮助。
我确实发现了一些类似的问题,但是它们要么是针对mac osx的windows,而是针对ubuntu的。
您需要启用pdo_mysql扩展,它可能已经启用了您的Web环境,但ubuntu分开cli和web的php.ini配置。
所以,你只需要启用CLI
扩展我必须在/opt/lampp/etc/php.ini下取消注释extension =“pdo_mysql.so” – tutak 2012-05-01 20:27:30
为了帮助OSX用户:
只需添加以下到您的/app/Config/database.php
配置变量:
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock'
为了帮助(更多)OSX(XAMPP)用户:
只是广告d将以下内容添加到您的app/Config/database.php
db配置阵列中:
'unix_socket' => '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock'
为什么使用xampp? https://help.ubuntu.com/11.04/serverguide/httpd.html – Wylie 2012-04-28 22:36:56
@Wylie因为我觉得这样会比较头疼,用mysql,apache会自动配置。 – tutak 2012-04-29 01:09:44