长时间潜伏,第一次问问。
快速版: 在apt-get升级后,我在LAMP站点上遇到500个错误,我最好追溯到Codeigniter的查询生成器。
长版:
代码库:Codeigniter 3.1.5(作为故障排除的一部分进行了升级)
本地环境(正常工作):XAMPP 7.0.3 / PHP 7.0.21 / MariaDB 25年1月10日
生产环境(返回错误):PHP 7.0.21 / MySQL Ver 14.14 分发5.7.19
根据页面的不同,我收到500 HTTP错误。日志显示了以下各种版本:
PHP Fatal error: Call to a member function result() on a non-object in /var/www/application/models/Model.php on line xxx
这些错误中的每一个都指代一段Codeigniter Query Builder代码,类似于:
$query = $this->db->query([some query]);
return $query->result();
或
$this->db->group_by([some other field]);
$query = $this->db->get();
return $query->result();
我在使用查询构建器时找不到任何一致的模式,但$this->db->group_by()
似乎很受欢迎。
每个错误都表明query
对象存在问题,但是 - 再次 - 它不一致且令人困惑。
要解决的步骤:
我很难过。任何帮助或见解都表示赞赏。