我正在尝试执行cake bake all
,但不工作,因为我认为问题是与我的蛋糕项目的路径。当我尝试在终端上执行命令时,会抛出这个异常:Error: The datasource configuration "default" was not found in database.php
。
ExemploCake/app/Config/database.php
路径下。我正在使用:Ubuntu与Lampp和CakePHP 2.7
配置database.php
<?php
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'cakePHP',
'prefix' => '',
'encoding' => 'utf8'
);
public $test = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'cakePHP',
'prefix' => '',
'encoding' => 'utf8'
);
}
?>
root@fernando-HP-15-Notebook-PC:/opt/lampp/htdocs/ExemploCake/app/Console# ./cake bake all
Welcome to CakePHP v2.7.0 Console
---------------------------------------------------------------
App : app
Path: /opt/lampp/htdocs/ExemploCake/app/
---------------------------------------------------------------
Bake All
---------------------------------------------------------------
Error: Database connection "Mysql" is missing, or could not be created.
#0 /opt/lampp/htdocs/ExemploCake/lib/Cake/Model/ConnectionManager.php(105): DboSource->__construct(Array)
#1 /opt/lampp/htdocs/ExemploCake/lib/Cake/Console/Command/Task/ModelTask.php(952): ConnectionManager::getDataSource('default')
#2 /opt/lampp/htdocs/ExemploCake/lib/Cake/Console/Command/Task/ModelTask.php(889): ModelTask->getAllTables('default')
#3 /opt/lampp/htdocs/ExemploCake/lib/Cake/Console/Command/Task/ModelTask.php(979): ModelTask->listAll('default')
#4 /opt/lampp/htdocs/ExemploCake/lib/Cake/Console/Command/BakeShell.php(150): ModelTask->getName('default')
#5 /opt/lampp/htdocs/ExemploCake/lib/Cake/Console/Shell.php(444): BakeShell->all()
#6 /opt/lampp/htdocs/ExemploCake/lib/Cake/Console/ShellDispatcher.php(212): Shell->runCommand('all', Array)
#7 /opt/lampp/htdocs/ExemploCake/lib/Cake/Console/ShellDispatcher.php(66): ShellDispatcher->dispatch()
#8 /opt/lampp/htdocs/ExemploCake/app/Console/cake.php(47): ShellDispatcher::run(Array)
#9 {main}
从app
文件夹中运行bake
。所以:
cd /opt/lampp/htdocs/ExemploCake/app
./Console/cake bake all
基于更新的帖子编辑:
这个错误意味着你没有为CLI启用pdo_mysql。因此,找到CLI的php.ini并启用它。
你似乎正在使用XAMPP。如果你只使用Ubuntu自带的软件包,你会省去很多麻烦。你可以在网上找到大量的教程。