index.php处于未知,php - PHP致命错误:未捕获的MDB2错误:未知错误代码:-1 \\ n - 堆栈内存溢出...

我想让我们的旧脚本再次运行。

前言; 我们正在使用来自过世的人的自定义书面/修改过的脚本。 我们不能用别的东西。 该脚本在旧服务器上运行,但服务器实际上已经过时,因此我尝试将所有内容迁移到较新的服务器。 当前(旧)服务器仍在运行CentOS 5.x以及PHP 5.3和MySQL 5.5。 所以它已经很老了。

无论如何,经过几个小时的调整后,我设法让它与MySQL 5.6一起在CentOS 6.x服务器上运行。 这很好。 我可能也会在CentOS 7.x上运行它,这将是一个不同的步骤。 目前主要的问题是脚本拒绝在PHP 5.3以外的任何更高版本上运行。 哎呀,我甚至无法摆脱它在“升级”到PHP 5.4之后向我投掷的第一条错误消息。

据我所知,问题是由一个(非常过时的)PEAR模块引起的: HTTP_Session2有关此PEAR模块的更多信息,请参见此处 。

显示的错误如下:

[Fri May 31 14:05:42 2019] [error] [client 192.168.0.1] PHP Fatal error: Uncaught MDB2 Error: unknown error Code: -1\n thrown in /usr/share/pear/HTTP/Session2/Container/MDB2.php on line 187

[Fri May 31 14:05:42 2019] [error] [client 192.168.0.1] PHP Fatal error: Uncaught MDB2 Error: unknown error Code: -1\n thrown in /usr/share/pear/HTTP/Session2/Container/MDB2.php on line 187

[Fri May 31 14:05:42 2019] [error] [client 192.168.0.1] PHP Fatal error: Uncaught MDB2 Error: unknown error Code: -1\n thrown in /usr/share/pear/HTTP/Session2/Container/MDB2.php on line 187

[Fri May 31 14:05:42 2019] [error] [client 192.168.0.1] PHP Fatal error: Uncaught MDB2 Error: unknown error Code: -1\n thrown in /usr/share/pear/HTTP/Session2/Container/MDB2.php on line 187

[Fri May 31 14:05:42 2019] [error] [client 192.168.0.1] PHP Fatal error: Uncaught MDB2 Error: unknown error Code: -1\n thrown in /usr/share/pear/HTTP/Session2/Container/MDB2.php on line 187

[Fri May 31 14:05:42 2019] [error] [client 192.168.0.1] PHP Fatal error: Uncaught MDB2 Error: unknown error Code: -1\n thrown in /usr/share/pear/HTTP/Session2/Container/MDB2.php on line 187

[Fri May 31 14:05:43 2019] [error] [client 192.168.0.1] PHP Fatal error: Uncaught MDB2 Error: unknown error Code: -1\n thrown in /usr/share/pear/HTTP/Session2/Container/MDB2.php on line 187

[Fri May 31 14:05:43 2019] [error] [client 192.168.0.1] PHP Fatal error: Uncaught MDB2 Error: unknown error Code: -1\n thrown in /usr/share/pear/HTTP/Session2/Container/MDB2.php on line 187

[Fri May 31 14:05:44 2019] [error] [client 192.168.0.1] PHP Fatal error: Uncaught MDB2 Error: unknown error Code: -1\n thrown in /usr/share/pear/HTTP/Session2/Container/MDB2.php on line 187

[Fri May 31 14:05:44 2019] [error] [client 192.168.0.1] PHP Fatal error: Uncaught MDB2 Error: unknown error Code: -1\n thrown in /usr/share/pear/HTTP/Session2/Container/MDB2.php on line 187

该代码的完整部分是:

169 /**

170 * Read session data

171 *

172 * @param string $id The Id!

173 *

174 * @return mixed

175 * @throws HTTP_Session2_Exception An exception!?

176 * @todo Get rid off sprintf()

177 */

178 public function read($id)

179 {

180 $query = sprintf("SELECT data FROM %s WHERE id = %s AND expiry >= %d",

181 $this->options['table'],

182 $this->db->quote(md5($id)),

183 time());

184

185 $result = $this->db->queryOne($query);

186 if (MDB2::isError($result)) {

187 throw new HTTP_Session2_Exception($result->getMessage(),

188 $result->getCode());

189 }

190 $this->crc = strlen($result) . crc32($result);

191 return $result;

192 }

第#187行显然导致了错误。

到目前为止我尝试了什么?

请注意,我不是编码专家。 所以我真的尽我所能。 我已经在互联网,论坛和GitHub上搜索了此错误的解决方案或解决方法。 但没有任何运气。

我也尝试删除/注释掉那部分代码,但这会导致新的错误。 例如:

Fatal error: Class HTTP_Session2_Container_MDB2 contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (HTTP_Session2_Container_Interface::read) in /usr/share/pear/HTTP/Session2/Container/MDB2.php on line 55

我也尝试更新所有PEAR模块,但有些模块根本没有任何更新(包括/尤其是HTTP_Session2模块)。

所以我正在寻找一个可行的解决方案或解决方法。 所以我可以在服务器上使用更新的PHP版本。 如果没有,我将使用PHP 5.3。 虽然服务器只能由我们访问,但我宁愿因各种原因更新它。

也许它也可以从所有代码中完全删除HTTP_Session2模块或者一般禁用它? 我不知道这对应用程序是否重要。 我注意到会话被记录了。 但谁知道呢? 如果它仅用于显示当前在线人员或类似人员,那么删除可能是安全的吗?

无论如何,请提前感谢您看一下这个帖子。 如果您需要更多信息或其他任何信息,请告诉我,我会尽量提供尽可能多的信息。

更新

可能我是一个尝试的完全白痴,但我把所有对“HTTP_Session2”的引用到处(在它所在的每个文件中)。 结果; 接口正在加载(第一次在PHP 5.4上),但是...由于某种原因我不能再登录了。 我猜它真的需要它。

网址显然也有所改变,现在显示:

hxxp://domain.com/index.php?view=login&PHPSESSID=

代替:

hxxp://domain.com/index.php?view=start&session=56d1fdf45cf1400e8e75f

所以我想这不会起作用。 谁有不同的想法?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值