【问题标题】:Yii Unit-Testing CDbExceptionYii 单元测试 CDbException
【发布时间】: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 然后是服务器?但是我该如何解决这个问题呢?

标签: php mysql phpunit yii


【解决方案1】:

曾经我也遇到过类似的问题。以下对我有帮助。试试这个 解决方案是在 php-cli.ini 中添加以下行:

extension=php_pdo_mysql.dll

【讨论】:

  • 我已经添加了这一行,但我得到了这个异常: PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php5/20121212/php_pdo_mysql.dll' - /usr/lib /php5/20121212/php_pdo_mysql.dll:无法打开共享对象文件:第 0 行的 Unknown 中没有此类文件或目录
  • 请下载该文件并将该文件放入您的错误要求的路径需要位置
  • 请你重启一下你的apchae
  • 然后请取消注释 extension=php_pdo_mysql.dll 并按照此操作并挖掘您的解决方案yiiframework.com/forum/index.php/topic/…
  • Thx Anil 我从没想过问题出在 mysql.sock
【解决方案2】:

我为这个问题想出了两个解决方案:

首先将 mysql.sock 添加到 test.php 配置中:

'db'=>array(
      'connectionString'=>'mysql:host=localhost;dbname=trackstar_dev;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock',
      'username'=>'root',
      'password'=>'root',
      'emulatePrepare'=>true
),

第二次使用xampp php运行phpunit:

$ /pathtoxampp/bin/php phpunit /yourtestpath/

【讨论】:

    猜你喜欢
    • 2012-06-15
    • 2013-09-28
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    • 2014-03-14
    • 2012-10-23
    • 2015-07-23
    • 2012-05-09
    相关资源
    最近更新 更多