【发布时间】:2014-06-20 10:01:40
【问题描述】:
我正在尝试使用 PHPUnit 测试我的 Yii 应用程序并获得 CDbException。当我使用 Yii::app()->db 时,我得到了同样的异常。
我的 PHP 测试代码:
$connection=new CDbConnection('mysql:host=localhost;dbname=testdb','user','pw');
$sql = "SELECT * FROM Site";
$command=$connection->createCommand($sql);
$rowCount=$command->execute();
echo $rowCount;
例外:
CDbException: CDbConnection failed to open the DB connection.
/opt/lampp/htdocs/cms/framework/db/CDbConnection.php:388
/opt/lampp/htdocs/cms/framework/db/CDbConnection.php:330
/opt/lampp/htdocs/cms/framework/db/CDbConnection.php:480
/opt/lampp/htdocs/cms/protected/tests/unit/TestTest.php:26
当我在浏览器中调用 index-test.php 时,Yii 正确连接到我在 test.php 配置中定义的测试数据库。
希望你能帮我解决这个小问题。
【问题讨论】:
-
在主应用程序中这个连接工作正常吗?
-
我认为路径一定有问题,请先确定。
-
@Alex:在主应用程序和测试应用程序中,当我调用浏览器 index.php (localhost/project/index.php) 时,开发数据库已连接,当我调用 index-test.php (localhost /project/index-test.php) 测试数据库已连接。 @Anil Bhattarai100:路径和女巫路径是什么意思? bootstrap.php 或 phpunit.xml 或其他地方的路径?
-
@mrbirne 你能告诉我你在用什么MAMP,XAMPP
-
我正在使用 XAMPP,这是否是问题所在?因为控制台使用另一个 php.ini 然后是服务器?但是我该如何解决这个问题呢?