2011-09-23 70 views
9

我的Drupal为基础的网站工作正常,直到昨天却突然从没有在那里今天的错误出现pdo_mysql错误突然出现在基于drupal的网站上?

Fatal error: Undefined class constant 'MYSQL_ATTR_USE_BUFFERED_QUERY' in /.../includes/database/mysql/database.inc on line 43 

我甚至没有改变或更新任何事情,因为昨天,它突然从任何地方出现,在此之前,它是做工精细

在database.inc的这被写

PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => TRUE, 

我用Google搜索,并得到一些想法,这是某种PDO_MYSQL错误的线43,我已经没有太多的想法,为什么这个错误突然rrived

任何人都可以请帮我

信息

  • Linux共享虚拟主机
  • DRUPAL 7
  • Apache的版本2.2.20
  • PHP版本5.2.17
  • MySQL版本5.0.92-community-log
  • 的cPanel版本11.30.3(建5)
+0

也许问主机提供商他们是否改变了配置中的任何东西? –

+0

网站托管公司回复我说你的脚本存在一些问题,但我没有改变任何东西 – ammar26

+0

你的网站主机是否停用了PDO?创建一个包含代码'<?php phpinfo();?>'的php文件,它会显示你所有的php配置。检查PDO是否被提及。 – Arkh

回答

7

根据很多不同的源PDO_MYSQL扩展必须从你的PHP安装中丢失。要么将它添加到php.ini中,要么让您的托管服务提供商为您做。

链接:

他们都说同样的事情...安装PDO_MYSQL扩展。听起来像你的主机提供商已禁用它!

+0

谢谢。我检查过pdo_mysql丢失了,我正在问我的虚拟主机 – ammar26

1

这也可能是由于权限问题。有时,如果使用SuPHP或其他配置(其中apache(或其他服务器)用户无法运行文件),则会出现此类错误,并且PDO_MYSQL:已经安装并可运行。

如果你有箱子的root访问权限,尝试做一个

sudo php /path/to/your/php/script.php 

或递归chown将此目录到相应的Apache用户(通常阿帕奇或www数据),或者谁是主目录中的文件是用户休息在(大多数共享服务器的情况下)。

chown -R apache:apache /path/to/web/files 
-1

我有完全相同的问题。我的网站突然崩溃了。 我开始寻找从cPanel PHP PEAR安装php扩展php_pdo_mysql.dll的建议,但是失败了。 我开始与我的主持人(Justhost)进行实时聊天,并调整了他们升级了他们的PHP版本。他们在2分钟内修好了它。