0

コンソールを使用してアプリケーションをベイクしましたが、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}

これは私のopt/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--inireturn:

        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 

上記の2つの出力に矛盾はありませんか?つまり、php --iniはxamppのphp.iniを出力することになっているのですが、xamppのphp.iniを指すようにするにはどうすればよいですか?この行で.bashrcを変更して変更しようとしましたが、もちろん助けにはなりません

 export PATH=/opt/lampp/bin:$PATH

この行をdatabase.configurationファイルに追加しようとしました:'port' =>'/opt/lampp/var/mysql/mysql.sock'しかし、それは役に立ちませんでした。

私はいくつかの同様の問題を見つけましたが、それらはmacosx用のWindows用でubuntu用のものではありません。

4

3 に答える 3

1

(もっと)OSX(XAMPP)ユーザーを助けるために:

app/Config/database.phpdbconfigアレイに以下を追加するだけです。

'unix_socket' => '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock'
于 2014-06-27T14:13:07.213 に答える
0

pdo_mysql拡張機能を有効にする必要があります。これは、Web環境ですでに有効になっている可能性がありますが、ubuntuはcliとwebのphp.ini構成を分離します。

したがって、CLIの拡張機能を有効にする必要があります

于 2012-04-29T01:57:05.023 に答える
0

OSXユーザーを支援するには:

/app/Config/database.phpConfig-Variableに以下を追加するだけです。

'unix_socket' =>'/Applications/MAMP/tmp/mysql/mysql.sock'

于 2014-05-20T10:45:16.167 に答える