Сайт Pear перенесен на новый хост, некоторые страницы не работают

1

У меня есть старый общий план хостинга, и я перемещаю сайт на новый план хостинга VPS. Он был закодирован в PHP.

Сайт успешно перемещен, но когда я пытаюсь получить доступ к странице, я получаю эту ошибку:

    Fatal error: Call to undefined method DB_DataObject_Error::getDatabaseConnection() in /var/www/mysite.com/public_html/ss/index.php on line 11

Назовите любые звонки о том, почему это происходит? Я не знаком с грушей, поэтому я понял, что это здесь, прежде чем я потрачу много часов, пытаясь понять это.

edit: И если я раскомментирую эти строки, остальная часть страницы, похоже, работает (возможно, большинство из них проверяет ATM). Интересно, может ли это быть устаревшим методом?

  • 0
    Можете ли вы добавить, на какие хостинг-планы вы переключились?
  • 0
    это из старого пакета хостинга web.com, я настоятельно рекомендую вам не использовать его;)
Теги:
pear

2 ответа

0
Лучший ответ

Моя проблема заключалась в том, что мой файл database.INI, который загружал DataObject, не знал, какую БД использовать (он был установлен неправильно). Поэтому любое место в коде, зависящее от экземпляра DataObject, потерпит неудачу. Вот код, который может дать вам лучшее сообщение об ошибке (в отличие от вызова метода, который не существует и получения ошибки php):

$userobject = DB_DataObject::factory($tablename);
if (PEAR::isError($userobject)) 
{
   echo $userobject->message;
} 
0

Ну PEAR - это просто программа для простой установки модулей PHP из своего репозитория, поэтому вам нужно убедиться, что у вас есть или установить PEAR на новом сервере. Затем используйте PEAR для установки отсутствующего модуля: DB_DataObject

https://pear.php.net/package/DB_DataObject/redirected

Как только вы установите это, вы можете обнаружить, что вам нужны дополнительные пакеты и модули для PHP, так как код остановится, когда достигнет Fatal Error. После строки 11 у вас может быть больше фатальных ошибок.

При переходе на новый провайдер для PHP вы всегда хотите убедиться, что у вас есть список модулей, конфигураций и сторонних программ (например, MySQL или Redis), чтобы вы могли убедиться, что новый поставщик соответствует вашим требованиям (или дает вам доступ чтобы установить то, что вам нужно).

  • 0
    PEAR устанавливается вместе с модулем DB_DataObject. Когда я запускаю команду «список груш», он также перечисляет этот пакет. Это разрыв строки: $ do = DB_DataObject :: factory ('ssparticipant'); $ db = $ do-> getDatabaseConnection (); .... Я начинаю думать, что он просто не может соединиться с таблицей (потому что, когда я добавляю поддельное имя пользователя БД, это выдает мне ошибку БД)
  • 0
    Да, без дополнительной информации трудно будет помочь. Можете ли вы опубликовать часть кода? Можете ли вы вручную подключиться к базе данных и запросить таблицу, в которой находится ваш код, с точно таким же запросом, который вызывает эту ошибку? Если это проблема с разрешениями, иногда они не возвращают правильную ошибку или вообще не возвращают.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню