【问题标题】:Ubuntu + Lampp and CakePHP?Ubuntu + Lampp 和 CakePHP?
【发布时间】:2015-10-10 11:29:38
【问题描述】:

我正在尝试执行 cake bake all 但不起作用,因为我认为问题出在我的蛋糕项目的路径上。当我尝试在终端上执行命令时会引发此异常:Error: The datasource configuration "default" was not found in database.php。文件database.php在这个路径ExemploCake/app/Config/database.php

我正在使用:带有 Lampp 和 CakePHP 2.7 的 Ubuntu

配置数据库.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}

【问题讨论】:

  • 在ubuntu中安装最新版本的mysql

标签: php cakephp ubuntu lampp


【解决方案1】:

从您的app 文件夹运行bake。所以:

cd /opt/lampp/htdocs/ExemploCake/app
./Console/cake bake all

根据更新后的帖子进行编辑:

该错误表示您没有为 CLI 启用 pdo_mysql。因此,找出 CLI 的 php.ini 并启用它。

您似乎正在使用 XAMPP。如果你只使用我的 Ubuntu 本身提供的软件包,你会省去很多麻烦。你会在网上找到大量的教程。

【讨论】:

  • 我编辑了这篇文章。如果我从我的应用程序文件夹运行 bake 会引发此异常:Error: Database connection "Mysql" is missing, or could not be created. 但在浏览器上一切正常,请查看:i.imgur.com/fx7CJBi.png
猜你喜欢
  • 2016-11-10
  • 1970-01-01
  • 2011-11-12
  • 2014-03-28
  • 2015-08-30
  • 2013-12-11
  • 1970-01-01
  • 1970-01-01
  • 2018-08-06
相关资源
最近更新 更多