共享主机上未加载PDO扩展

时间:2011-08-05 14:16:54

标签: php zend-framework web pdo

当我尝试运行Zend_Db_Adapter_Pdo_Mysql的构造函数时,我收到此错误:

The PDO extension is required for this adapter but the extension is not loaded

我使用shared host而我无法更改php.ini

有没有解决方案?

2 个答案:

答案 0 :(得分:2)

更改您的托管服务提供商的一部分,您可以尝试以下事项:

  • 使用Zend_Db_Adapter_Mysqli(假设mysqli可用)
  • 使用mysql_* - 函数编写自己的适配器(或使用existing one
  • 尝试动态加载PDO扩展(假设它可用并且enable_dl已打开,safe_mode已关闭):
    dl('pdo.so');
    dl('pdo_mysql.so');

答案 1 :(得分:1)

尝试切换到Mysqli或其他适配器?

应该相当简单,根据Zend应用程序的配置,更改 db适配器值。

在json类型配置中它是

"db": {
    "adapter": "mysqli",
    ...
}

Php数组配置:

 array(
    'database' => array(
        'adapter' => 'Mysqli',

Ini类型:

db.adapter = "Mysqli"

当然,如果您通过配置创建数据库适配器并将其用作引导资源,这就是全部。如果没有,只需实例化另一个数据库适配器:

$db = new Zend_Db_Adapter_Mysqli();