我在Ubuntu上安装了一个灯服务器。在我升级到Ubuntu15.04之前,许多Magento和MediaWiki安装都运行良好。
升级后,尝试加载由localhost提供的一个页面会引发错误The PDO extension is required for this adapter but the extension is not loaded
。
我输入了php -m
,看到PDO
和pdo_mysql
都加载了。我的php版本是5.6.4。没有一个安装使用单独的php.ini文件。我试着添加
extension=pdo.so
extension=pdo_mysql.so
到/etc/php5 5/apache2/php.ini,但这并不影响我的情况。我还验证了最新版本的php5-mysql是否已经安装。
还有其他人见过这个问题吗?它是特定于Ubuntu升级,还是我只是在某个地方缺少一个配置设置?
编辑: php
在阅读了下面Lea的答案之后,我到了php -i | grep -i pdo
产生输出的地步:
/etc/php5/cli/conf.d/10-pdo.ini,
/etc/php5/cli/conf.d/20-pdo_mysql.ini,
PDO
PDO support => enabled
PDO drivers => mysql
pdo_mysql
PDO Driver for MySQL => enabled
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock
测试脚本也成功运行。
发布于 2015-06-24 03:13:03
我知道你已经完成了所有这些步骤。但是,请一步一步地遵循本指南。有时我们错过了一些小步。这对我有用。我刚刚用Ubuntu15.04在虚拟机上测试了它
安装
apt-get -y update
add-apt-repository ppa:ondrej/php5-5.6
apt-get -y update
apt-get -y install php5 php5-mhash php5-mcrypt php5-curl php5-cli php5-mysql php5-gd php5-intl
负载模块(sudo vim /etc/php5/apache2/php.ini
)
extension=pdo.so
extension=pdo_mysql.so
重新启动Apache
sudo service apache2 restart
或/etc/init.d/apache2 restart
检查是否启用了模块(确保加载了模块)
<?php phpinfo();?>
php -i | grep pdo
测试
更改与设置匹配的myDatabase
、username
和password
。
try {
$conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
https://stackoverflow.com/questions/31015418
复制相似问题