带有 pdo 的未定义类常量“MYSQL_ATTR_INIT_COMMAND"
$db = new PDO('mysql:dbname=xnews;host=localhost;port=' . $LOCAL_DB_PORT,
$LOCAL_DB_USER,
$LOCAL_DB_PASS,
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'")
);
报告:
未定义的类常量'MYSQL_ATTR_INIT_COMMAND'
Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'
改名了吗?
推荐答案
我刚刚遇到了同样的错误(使用 PHP 5.2.6),我所要做的就是 启用特定于 MySQL 的 PDO 驱动程序:
I just had the same error (with PHP 5.2.6), and all I had to do is enable the MySQL-specific PDO driver:
在您的 php.ini
文件中,您应该有以下行(未注释):
In your php.ini
file, you should have the following line (uncommented):
extension=php_pdo_mysql.dll
在 Windows 上extension=php_pdo_mysql.so
在 Linux/Mac 上
extension=php_pdo_mysql.dll
on Windowsextension=php_pdo_mysql.so
on Linux/Mac
在文本编辑器中打开
php.ini
- 例如它在 Windows 上的默认路径:
C:Program Files (x86)PHPv5.Xphp.ini
(用您安装的版本替换 v5.x)或C:Windowsphp.ini
等 - 或在 Linux 上:
/etc/php5/apache2/php.ini
(例如这是 Ubuntu 上的路径)或/etc/php5/cli/php.ini
、/etc/php5/cgi/php.ini
等 - 或你可以这样了解它在哪里:
php --ini |在 Windows 命令提示符下查找/i Loaded"
或php --ini |Linux/Mac 终端中的 grep已加载"
- 使用
phpinfo()
,并寻找Loaded Configuration File"
- e.g. its default path on Windows:
C:Program Files (x86)PHPv5.Xphp.ini
(substitute v5.x with the version you installed) orC:Windowsphp.ini
, etc. - or on Linux:
/etc/php5/apache2/php.ini
(e.g. this is the path on Ubuntu) or/etc/php5/cli/php.ini
,/etc/php5/cgi/php.ini
, etc. - or you can get to know where it is like this:
php --ini | find /i "Loaded"
in Windows command prompt ORphp --ini | grep "Loaded"
in Linux/Mac terminal- using
phpinfo()
, and looking for the line "Loaded Configuration File"
和从下一行的开头删除分号(取消注释):
;extension=php_pdo_mysql.dll
在 Windows 上- OR
;extension=php_pdo_mysql.so
在 Linux/Mac 上
;extension=php_pdo_mysql.dll
on Windows- OR
;extension=php_pdo_mysql.so
on Linux/Mac
extension=php_pdo_mysql.dll
在 Windows 上- OR
extension=php_pdo_mysql.so
在 Linux/Mac 上
extension=php_pdo_mysql.dll
on Windows- OR
extension=php_pdo_mysql.so
on Linux/Mac
您可能需要重新启动网络服务器.
You may need to restart your web server.
那解决了我的问题.
- OR
- OR
相关文章