Php Pear站点移动到新主机,某些页面无法工作

Php Pear站点移动到新主机,某些页面无法工作,php,pear,Php,Pear,我有一个旧的共享托管计划,我正在移动到一个新的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 你有没有想过为什么会发生这种事?我不熟悉梨,所以我想在我花很

我有一个旧的共享托管计划,我正在移动到一个新的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只是一个可以从其存储库轻松安装PHP模块的程序,因此您需要确保在新服务器上安装了PEAR。然后使用PEAR安装缺少的模块:DB\u DataObject

一旦你安装了它,你可能会发现你需要额外的PHP软件包和模块,因为代码会在出现致命错误时停止。第11行之后可能会出现更多致命错误


在迁移到新的PHP提供程序时,您总是希望确保有一个模块、配置和第三方程序(如MySQL或Redis)的列表,以便确保新的提供程序满足您的要求(或允许您安装所需的程序).

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


您可以添加您切换的托管计划吗?它来自旧的web.com托管包,我强烈建议您不要使用它;)PEAR与DB_DataObject模块一起安装。当我运行命令“pear list”时,它也会列出该包。这是一行中断:$do=DB_DataObject::factory('ssparticipant');$DB=$do->getDatabaseConnection();…我开始认为它无法连接到表(因为当我输入一个假DB用户名时,它会给我一个DB错误)是的,如果没有更多的信息,这将很难提供帮助。你能发布一些代码吗?你能手动连接到数据库并用引发此错误的完全相同的查询查询你的代码所在的表吗?如果是权限问题,有时他们不会返回正确的错误或任何错误。这两行代码问题是:$do=DB_DataObject::factory('ssparticipant');$DB=$do->getDatabaseConnection();
$userobject = DB_DataObject::factory($tablename);
if (PEAR::isError($userobject)) 
{
   echo $userobject->message;
}