我只是有同样的错误(使用PHP 5.2.6),而我所要做的就是启用特定于MySQL的PDO驱动程序:
在您的php.ini
文件中,您应该具有以下行(取消注释):
extension=php_pdo_mysql.dll
在Windows上
extension=php_pdo_mysql.so
在Linux/Mac上
php.ini
在文本编辑器中打开
例如,它在Windows上的默认路径:( C:\Program Files (x86)\PHP\v5.X\php.ini
用你安装的版本代替v5.x)或者C:\Windows\php.ini
等等.
或Linux上:/etc/php5/apache2/php.ini
(例如,这是在Ubuntu路径)或/etc/php5/cli/php.ini
,/etc/php5/cgi/php.ini
等
或者你可以知道这是什么样的:
php --ini | find /i "Loaded"
在Windows命令提示符或
php --ini | grep "Loaded"
在Linux/Mac终端中
使用phpinfo()
,并查找"加载配置文件"行
并从以下行的开头删除分号(取消注释):
;extension=php_pdo_mysql.dll
在Windows上
或者;extension=php_pdo_mysql.so
在Linux/Mac上
当然,如果这行不存在,你应该粘贴它
所以作为结果的预期线应该是这样的php.ini
:
extension=php_pdo_mysql.dll
在Windows上
或者extension=php_pdo_mysql.so
在Linux/Mac上
您可能需要重新启动Web服务器.
这解决了我的问题.
我只是有同样的错误(使用PHP 5.2.6),而我所要做的就是启用特定于MySQL的PDO驱动程序:
在您的php.ini
文件中,您应该具有以下行(取消注释):
extension=php_pdo_mysql.dll
在Windows上
extension=php_pdo_mysql.so
在Linux/Mac上
php.ini
在文本编辑器中打开
例如,它在Windows上的默认路径:( C:\Program Files (x86)\PHP\v5.X\php.ini
用你安装的版本代替v5.x)或者C:\Windows\php.ini
等等.
或Linux上:/etc/php5/apache2/php.ini
(例如,这是在Ubuntu路径)或/etc/php5/cli/php.ini
,/etc/php5/cgi/php.ini
等
或者你可以知道这是什么样的:
php --ini | find /i "Loaded"
在Windows命令提示符或
php --ini | grep "Loaded"
在Linux/Mac终端中
使用phpinfo()
,并查找"加载配置文件"行
并从以下行的开头删除分号(取消注释):
;extension=php_pdo_mysql.dll
在Windows上
或者;extension=php_pdo_mysql.so
在Linux/Mac上
当然,如果这行不存在,你应该粘贴它
所以作为结果的预期线应该是这样的php.ini
:
extension=php_pdo_mysql.dll
在Windows上
或者extension=php_pdo_mysql.so
在Linux/Mac上
您可能需要重新启动Web服务器.
这解决了我的问题.
当我还没有安装时,我在debian6上得到了同样的错误php5-mysql
.
所以我安装了它,然后重新启动了apache2
apt-get install php5-mysql /etc/init.d/apache2 restart
然后错误就消失了.
如果你在Ubuntu上有相同的错误,而不是:
/etc/init.d/apache2 restart
类型:
service apache2 restart
它似乎只能使用mysqlnd驱动程序.
尝试用它代表的整数替换它; 1002,如果我没弄错的话.