【发布时间】:2015-03-23 12:41:45
【问题描述】:
当我在 yiic shell 中运行命令时
模型用户 ygs_users
我收到以下错误
异常“CDbException”,消息“CDbConnection 无法打开” 数据库连接:找不到驱动程序 C:\WebServers\home\localhost\www\yii-1.1.16.bca 042\framework\db\CDbConnection.php:399
之前我在进入 yiic shell 时收到了这样的警告
PHP 警告:PHP 启动:无法加载动态库 '/usr/local/php5/ext\p hp_gd2.dll' - ═х эрщфхэ єърчрээ√щ ьюфєы№。在 第 0 行未知 PHP 警告:PHP 启动:无法加载动态 库 '/usr/local/php5/ext\p hp_mbstring.dll' - ═х эрщфхэ єърчрээ√щ ьюфєы№。在第 0 行的未知中 PHP 警告:PHP 启动:无法 加载动态库 '/usr/local/php5/ext\p hp_mysql.dll' - ═х эрщфхэ єърчрээ√щьюфєы№。在第 0 行的未知中 PHP 警告:PHP 启动: 无法加载动态库 '/usr/local/php5/ext\p hp_mysqli.dll' - ═х эрщфхэ єърчрээ√щ ьюфєы№。在第 0 行的未知中 PHP 警告:PHP 启动:无法加载动态库 '/usr/local/php5/ext\p hp_pdo_mysql.dll' - ═х эрщфхэ єърчрээ√щ ьюфєы№。在第 0 行的未知中
我已经在 php.ini 中指定了扩展的绝对路径,并且警告消失了。我还在 php.ini 中插入了一行“PDO support = enabled”。 但错误“CDbException”保持不变。
我的数据库.php
return array( //'connectionString' => 'sqlite:'.dirname(FILE).'/../data/testdrive.db', // 取消注释 以下行使用 MySQL 数据库 'connectionString' => 'mysql:host=localhost;dbname=testdrive', 'emulatePrepare' => true, 'username' => 'root', 'password' => '', 'charset' => 'utf8', );
我正在使用 yii-1.1.16。
【问题讨论】:
-
首先运行 phpinfo();查看 PDO 驱动程序是否为 mysql 启用?在 php.ini 中设置“PDO 支持 = 启用”后。重启你的服务器
-
原来问题已经解决了。我在设置 'PDO support = enabled' 后重新启动了服务器,但更改不会立即生效。现在一切正常。