我已經檢查了有關我的問題的其他問題和答案,似乎沒有什麼幫助解決它。CakePHP烘烤錯誤:數據庫連接「Mysql」缺失或無法創建
我正在使用vagrant percise64(Ubuntu的服務器12.04)與燈安裝。 在我的主機(桌面)上,我有myfinalproject目錄,其中包含提取的cakePHP版本2.3.5。 我已經設置了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}
我試圖從我的應用程序目錄運行烘烤命令(雖然我看到的,路徑是確定),我得到了同樣的錯誤。 我已將database.php
localhost
更改爲127.0.0.1
,並且仍發生同樣的錯誤。
我在這裏錯過了什麼?
編輯:由於人們建議我會檢查PDO擴展可用性,我做了一個小測試。 我用:
[email protected]:/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
您是否正在從vagrant vm(通過ssh)或主機上運行CLI控制檯? – Tomdarkness
在guest虛擬機(流浪盒)啓用PDO時從主機運行。也許我很愚蠢,這就是爲什麼它不起作用? –
我有這個問題,我在主機上運行烘烤。如果您使用的是流浪者,請確保您在流浪者盒子上運行烘焙(ssh然後烘烤)。 – wenbert