Ubuntu + Lampp and CakePHP?


Ubuntu + Lampp and CakePHP?

我正在尝试执行cake bake all,但不工作,因为我认为问题是与我的蛋糕项目的路径。当我尝试在终端上执行命令时,会抛出这个异常:Error: The datasource configuration "default" was not found in database.php

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自带的软件包,你会省去很多麻烦。你可以在网上找到大量的教程。