【发布时间】:2018-01-02 14:24:34
【问题描述】:
潜伏已久,第一次发问。
快速版本: 在 apt-get 升级后,我在 LAMP 网站上遇到 500 个错误,我最好可以追溯到 Codeigniter 的查询生成器。
长版:
代码库:Codeigniter 3.1.5(作为故障排除的一部分升级)
本地环境(工作正常):XAMPP 7.0.3 / PHP 7.0.21 / MariaDB 10.1.25
生产环境(返回错误):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 对象存在问题,但 - 再次 - 它不一致且令人困惑。
解决步骤:
- 已尝试跨环境获取版本奇偶性
- 回滚 apt-get 升级
- 重新进行了 apt-get 升级
- 将 Codeigniter 从 3.1.3 升级到 3.1.5
- 做了一堆谷歌搜索
我被难住了。感谢您提供任何帮助或见解。
【问题讨论】:
标签: php mysql codeigniter query-builder