我有这个PHP功能,一直运行得很好,直到我重新安装我的开发系统:
function connectDB($database, $username, $password) {
$DSN = "mysql:host=localhost;dbname=$database";
try {
$DBH = new PDO($DSN, $username, $password); <--- LINE 10
return $DBH;
}
catch(PDOException $e) {
die("Could not connect to the database.\n");
}
}
我收到了错误:
PHP Fatal error: Class 'PDO' not found in /var/www/im/tools.php on line 10
我检查了phpinfo()并启用了PDO:
PDO驱动程序:mysql
适用于MySQL版本的PDO驱动程序:5.1.54
有趣的是,与MYSQL数据库的交互没问题,但我在调试时仍然收到错误。
我对这个错误感到困惑!我的系统是Ubuntu 11.04 + NGINX + PHP 5.3
任何提示摆脱它?谢谢!
答案 0 :(得分:5)
您使用的是命名空间代码吗?也许你需要使用\ PDO课程呢?
答案 1 :(得分:2)
如果Web应用程序的当前工作目录中有php.ini文件,也会发生这种情况。如果已经在那里更改某些设置,它将覆盖全局设置。
要避免此问题,请不要使用php.ini更改设置;相反,在vhost声明或带有'php_flag'的.htaccess文件中执行此操作。
答案 2 :(得分:1)
试
yum install php-pdo
service httpd restart