Расширение PDO не загружено на Shared host - PullRequest
2 голосов
/ 05 августа 2011

Я получаю эту ошибку, когда пытаюсь запустить конструктор Zend_Db_Adapter_Pdo_Mysql:

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

Я использую shared host и не могу изменить php.ini.

Есть ли какое-нибудь решение?

Ответы [ 2 ]

2 голосов
/ 05 августа 2011

Ну и часть от смены вашего хостинг-провайдера вы можете попробовать следующие вещи:

  • Использование Zend_Db_Adapter_Mysqli (при условии mysqli доступно)
  • Напишите свой собственный адаптер, используяmysql_* -функции (или использовать существующую )
  • Попробуйте динамически загрузить расширение PDO (при условии, что оно доступно и enable_dl включено, safe_mode выключено):
    dl('pdo.so');
    dl('pdo_mysql.so');
1 голос
/ 05 августа 2011

Попробуйте переключиться на Mysqli или другой адаптер?

Должно быть довольно простым, в зависимости от конфигурации приложения Zend изменить Значение адаптера в дБ.

В конфигурации типа JSON это

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

Конфигурация массива Php:

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

Ини тип:

db.adapter = "Mysqli"

Это все, конечно, если вы настраиваете db адаптер через конфигурацию и используете его как ресурс начальной загрузки. Если нет, просто создайте другой адаптер БД:

$db = new Zend_Db_Adapter_Mysqli();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...