3

私の問題に関する他の質問と回答を既に確認しましたが、解決に役立つものは何もないようです。

ランプがインストールされたvagrant percise64(ubuntuサーバー12.04)を使用しています。私のホスト (デスクトップ) には、抽出された CakePHP バージョン 2.3.5 を含む myfinalproject dir があります。必要な CakePHP をすべて設定しました。生成された CakePHP のページには、「Cake はデータベースに接続できます」と表示されます。

新しいモデル/コントローラーまたはすべてをベイクしようとすると、次のエラーが発生します。

Welcome to CakePHP v2.3.5 Console
---------------------------------------------------------------
App : app
Path: /home/shahar/development/myfinalproject/app/
---------------------------------------------------------------
Interactive Bake Shell
---------------------------------------------------------------
[D]atabase Configuration
[M]odel
[V]iew
[C]ontroller
[P]roject
[F]ixture
[T]est case
[Q]uit
What would you like to Bake? (D/M/V/C/P/F/T/Q) 
> m
---------------------------------------------------------------
Bake Model
Path: /home/shahar/development/myfinalproject/app/Model/
---------------------------------------------------------------
Use Database Config: (default/test) 
[default] > default
Error: Database connection "Mysql" is missing, or could not be created.
#0 /home/shahar/development/myfinalproject/lib/Cake/Model/ConnectionManager.php(107): DboSource->__construct(Array)
#1 /home/shahar/development/myfinalproject/lib/Cake/Console/Command/Task/ModelTask.php(900): ConnectionManager::getDataSource('default')
#2 /home/shahar/development/myfinalproject/lib/Cake/Console/Command/Task/ModelTask.php(837): ModelTask->getAllTables(NULL)
#3 /home/shahar/development/myfinalproject/lib/Cake/Console/Command/Task/ModelTask.php(926): ModelTask->listAll(NULL)
#4 /home/shahar/development/myfinalproject/lib/Cake/Console/Command/Task/ModelTask.php(205): ModelTask->getName()
#5 /home/shahar/development/myfinalproject/lib/Cake/Console/Command/Task/ModelTask.php(93): ModelTask->_interactive()
#6 /home/shahar/development/myfinalproject/lib/Cake/Console/Command/BakeShell.php(108): ModelTask->execute()
#7 /home/shahar/development/myfinalproject/lib/Cake/Console/Shell.php(392): BakeShell->main()
#8 /home/shahar/development/myfinalproject/lib/Cake/Console/ShellDispatcher.php(200): Shell->runCommand(NULL, Array)
#9 /home/shahar/development/myfinalproject/lib/Cake/Console/ShellDispatcher.php(68): ShellDispatcher->dispatch()
#10 /home/shahar/development/myfinalproject/app/Console/cake.php(37): ShellDispatcher::run(Array)
#11 {main}

app dir から bake コマンドを実行しようとしましたが (パスは問題ないと思いますが)、同じエラーが発生しました。toを変更しましたが、database.php同じエラーが発生します。localhost127.0.0.1

ここで何が欠けていますか?

編集: 人々が PDO 拡張機能の可用性を確認することを提案したので、小さなテストを行いました。私が使用した:

vagrant@precise64:/etc/php5/cli$ php -i | grep -i pdo
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_mysql.ini,
PDO
PDO support => enabled
PDO drivers => mysql
pdo_mysql
PDO Driver for MySQL => enabled
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock
4

5 に答える 5

4

cli の pdo モジュールを有効にしましたか? cli/web(fpm)でphp.iniを変えてもいいと思います。

于 2013-05-22T09:43:46.307 に答える
0

私にとっては、サーバー変数 $_SERVER['HTTP_HOST'] が database.php 構成ファイルで使用できないことが判明したため、シェルで実行しているときに特定の構成が正しく設定されていませんでした。

$_SERVER['HTTP_HOST'] は、シェルの実行中は使用できません。

于 2014-09-02T00:58:45.653 に答える