求救:本地部署没问题,上服务器出错。


在本地部署已经跑起来了,但是放在服务器就除了问题。版本ThinkCMF5,搭配PHP71,Mysql5.7.

已经确认数据库连接正常,Nginx转发正常。怀疑有可能是PHP版本问题,但是本地用同样版本没有出错。

贴出错误提示:

[0] ThrowableError in NavMenuModel.php line 32

致命错误: Call to a member function toArray() on array

     * @param int $navId 导航id     
     * @param int $maxLevel 最大获取层级,默认不限制     
     * @return array     
     */    
     public function navMenusTreeArray($navId = 0, $maxLevel = 0)    
     {        
     if (empty($navId)) {            
     $navId = Db::name('nav')->where('is_main', 1)->value('id');        
     }        
     “=>>>出错的行”     $navMenus     = $this->where('nav_id', $navId)->where('status', 1)->order('list_order ASC')->select()->toArray();        
     $navMenusTree = [];        
     if (!empty($navMenus)) {            
     $tree = new Tree();            
     $this->parseNavMenu4Home($navMenus);            
     $tree->init($navMenus);            
     $navMenusTree = $tree->getTreeArray(0, $maxLevel);        
     }

有没有遇到同样错误的,求助呀~


评论

不知道叫什么好:
08月14日 15:38

@老猫
这个Runtime下的文件容易被删掉啊,很容易与缓存混淆,我觉得可以选择存在数据库里或者放在另一个安全一点的文件目录下。

老猫:
08月13日 09:59

能自己解决更好

不知道叫什么好:
08月12日 17:39

解决了,Runtime的Conf下的database.conf不能删除!

发表话题

提问必知

1.话题支持代码,qq截屏直接粘贴,和QQ群一样;
2.问题描述清,比如服务器版本,程序版本;
3.能上代码,就不用文字;
4.把问题发到话题后再发QQ群;
5.如果感觉回复者解答的不错,可以发红包!
6.多帮助别人也是对自己的锻炼!