我正在努力学习Yii,但是每当我使用yiic时,我都会遇到一个非常持久的错误。
第一个系统细节:Ubuntu 13.04与apache2,php 5.5.3和mysql 5.5.3。
我运行/yiic migrate
我正在开发的webapp内部/受保护。
我收到错误:
exception 'CDbException' with message 'CDbConnection failed to open the DB connection: could not find driver' in /var/www/yii/framework/db/CDbConnection.php:382
这似乎是因为在CDbConnection.php的第382行,脚本会检查pod_mysql是否已安装,但无法找到它。
`if($this->_pdo===null)
{
if(empty($this->connectionString))
throw new CDbException('CDbConnection.connectionString cannot be empty.');
try
{
Yii::trace('Opening DB connection','system.db.CDbConnection');
$this->_pdo=$this->createPdoInstance();
$this->initConnection($this->_pdo);
$this->_active=true;
}
catch(PDOException $e)
{
if(YII_DEBUG)
{
throw new CDbException('CDbConnection failed to open the DB connection:'.
$e->getMessage(),(int)$e->getCode(),$e->errorInfo);
}
else
{
Yii::log($e->getMessage(),CLogger::LEVEL_ERROR,'exception.CDbException');
throw new CDbException('CDbConnection failed to open the DB connection.'
,(int)$e->getCode(),$e->errorInfo);
}
}
}
^^这是相关的代码片段。
运行结果
php -i|grep PDO gives
PDO
PDO support => enabled
PDO drivers => sqlite
PDO Driver for SQLite 3.x => enabled
所以我的问题似乎是只有sqlite驱动程序正在运行。但是,我已经确保检查是否安装了php-mysql(因为pdo_mysql已被弃用且位于此包中)。我已经完成了关于该做什么的想法,并会感激任何和所有的帮助!!
提前致谢!
答案 0 :(得分:2)
控制台应用程序将自己的配置存储在protected/config/console.php
中。请确保您在那里配置了数据库组件。
答案 1 :(得分:0)
此问题来自您的 php cli.ini ,而不是 php cli.ini 中 php cli.ini ,您应该添加:< / p>
extension=php_pdo_mysql.dll
,如 php.ini