Pear 站点已移至新主机,某些页面无法正常工作

Pear site moved to new host, some pages not working

我有一个旧的共享托管计划,我正在将网站移动到一个新的 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

提醒一下为什么会这样?我对 pear 不熟悉,所以在我花了很多时间试图弄清楚这个之前先在这里弄清楚了 id post。

编辑:如果我取消对这些行的注释,页面的其余部分似乎可以工作(但无法测试其中的大部分内容)...我想知道这是否是一种已弃用的方法?

嗯,PEAR 只是一个程序,可以轻松地从其存储库安装 PHP 模块,因此您需要确保在新服务器上安装了 PEAR。然后用PEAR安装缺少的模块:DB_DataObject

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

安装后,您可能会发现 PHP 需要额外的包和模块,因为代码会在遇到致命错误时停止。您可能在第 11 行之后有更多致命错误。

当为 PHP 迁移到新的供应商时,您总是希望确保拥有模块、配置和第三方程序(如 MySQL 或 Redis)的列表,以便您可以确保新提供商满足您的要求(或允许您安装所需内容)。

我的问题是我的 database.INI DataObject 加载的文件不知道要使用什么数据库(设置错误)。因此,代码中任何依赖于 DataObject 实例的地方都会失败。以下代码可以为您提供更好的错误消息(与调用不存在的方法并获得 php 错误相反):

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