我正在通过烘焙命令
在CakePHP中烘焙模型 ./cake bake model all
我正确配置了database.php。
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'mydb',
'prefix' => '',
//'encoding' => 'utf8',
);
我在烘焙模型时遇到此错误
#0 /opt/lampp/htdocs/febrics/lib/Cake/Model/Datasource/DboSource.php(262): Mysql->connect()
#1 /opt/lampp/htdocs/febrics/lib/Cake/Model/ConnectionManager.php(107): DboSource->__construct(Array)
#2 /opt/lampp/htdocs/febrics/lib/Cake/Console/Command/Task/ModelTask.php(900): ConnectionManager::getDataSource('default')
#3 /opt/lampp/htdocs/febrics/lib/Cake/Console/Command/Task/ModelTask.php(837): ModelTask->getAllTables('default')
#4 /opt/lampp/htdocs/febrics/lib/Cake/Console/Command/Task/ModelTask.php(123): ModelTask->listAll('default', false)
#5 /opt/lampp/htdocs/febrics/lib/Cake/Console/Command/Task/ModelTask.php(102): ModelTask->all()
#6 /opt/lampp/htdocs/febrics/lib/Cake/Console/Shell.php(389): ModelTask->execute()
#7 /opt/lampp/htdocs/febrics/lib/Cake/Console/Shell.php(386): Shell->runCommand('execute', Array)
#8 /opt/lampp/htdocs/febrics/lib/Cake/Console/ShellDispatcher.php(202): Shell->runCommand('model', Array)
#9 /opt/lampp/htdocs/febrics/lib/Cake/Console/ShellDispatcher.php(68): ShellDispatcher->dispatch()
#10 /opt/lampp/htdocs/febrics/app/Console/cake.php(37): ShellDispatcher::run(Array)
#11 {main}
请让我知道我哪里错了。
致谢
答案 0 :(得分:2)
将localhost更改为127.0.0.1
出于某种原因,在使用localhost时,它在烘焙时无法通过命令行运行。
答案 1 :(得分:1)
当我们根据database.php文件中的HOST切换配置时,我们通常会遇到此问题。
您是否尝试将数据库切换到任何位置?请注意,$ _SERVER ['HTTP_HOST']在命令行中不可用。