2015-02-10 112 views
0

在我的开发环境中,我通过Composer将CakePHP加载到Vendor目录。该网站运行良好,以及在浏览器中的测试。在控制台中,我能够生成MVC,测试用例,灯具等。我无法执行它在控制台上运行我的测试。 ./Console/cake test app Controller/OrdersController生产Error: Database connection "Mysql" is missing, or could not be created.我确实有我的$test DATABASE_CONFIG在database.php中设置,我想如果这是不正确的,我将无法在浏览器中运行我的测试。我正在运行版本2.5.8,并使用最新的cake.php文件和$composerInstall变量,如图所示https://github.com/cakephp/cakephp/blob/05709908a7f529d4e49534b687b0f31884e95132/app/Console/cake.php任何人都可以建议我应该进一步寻找解决这个问题并在命令行上运行我的测试?尝试在控制台上运行CakePHP2测试的问题

回答

0

我对此深入探讨,发现我的问题。它实际上是在我的Fixture文件中。在其中的一些中,我指定了模型和连接键。删除那些使我的测试工作在命令行上,并没有更多的Mysql丢失错误。

0

您可能必须为PHP-CLI启用PDO模块,它们具有不同的配置。

在Linux上,他们保持在/etc/php5/cli/conf.d

你应该创建符号链接../../mods-available/pdo_mysql.ini或不管它是在你的系统。

在Windows下,它将在php.ini中。

更新:

您也应该检查你有$这个 - >默认在您为database.php定义。

+0

感谢您花时间回复。我正在运行一个Linux VM。我检查了该文件夹中的sym链接,并且sym链接与其他人一起存在。 – Kris 2015-02-10 13:51:20

+0

在控制台上试着做'php -i | grep pdo',看看你是否有PDO扩展。另请参阅我的编辑! – Voycey 2015-02-10 22:27:25