/ / Ubuntu + Lampp und CakePHP? - php, cakephp, ubuntu, lampp

Ubuntu + Lampp und CakePHP? - PHP, Kuchenphp, Ubuntu, Lampp

Ich versuche es auszuführen cake bake all funktioniert aber nicht, weil ich denke, dass das Problem mit einem Pfad meines Kuchenprojekts zusammenhängt. Error: The datasource configuration "default" was not found in database.php. Die Datei database.php befindet sich in diesem Pfad ExemploCake/app/Config/database.php.

Ich verwende: Ubuntu mit Lampp und CakePHP 2.7

Config 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"
);
}
?>

Ausnahme

    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}

Antworten:

0 für die Antwort № 1

Lauf bake von deiner app Mappe. So:

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

Bearbeitung basierend auf dem aktualisierten Beitrag:

Der Fehler bedeutet, dass pdo_mysql nicht für CLI aktiviert ist. Ermitteln Sie also die php.ini für CLI und aktivieren Sie sie.

Es scheint, dass Sie XAMPP verwenden. Sie sparen sich viel Ärger, wenn Sie einfach die von Ubuntu selbst gelieferten Pakete verwenden. Im Internet finden Sie tonnenweise Anleitungen dazu.