> 백엔드 개발 > PHP 튜토리얼 > PHPCMS后台设置角色权限时,突然出现500错误,怎么解决呢?

PHPCMS后台设置角色权限时,突然出现500错误,怎么解决呢?

WBOY
풀어 주다: 2016-06-20 12:46:09
원래의
1435명이 탐색했습니다.


在PHPcms后台设置角色权限时,点击默认站点出现500错误,如上图。
正常情况下如下图所示。本来好好的,不知道怎么的就突然不好使了,请高手解答??这是怎么回事呢?


回复讨论(解决方案)

那个请求有严重的语法错误了吧,进去下断点看看

这个请求调用的文件和本地的是一样的,如果有语法错误错误的话,为何本地的正常,服务器上的不正常了呢?

看错误。

程序执行到foreach前面不报错
foreach ($result as $n=>$t) {
$result[$n]['cname'] = L($t['name'],'',$modules);
$result[$n]['checked'] = ($this->op->is_checked($t,$_GET['roleid'],$siteid, $priv_data))? ' checked' : '';
$result[$n]['level'] = $this->op->get_level($t['id'],$result);
$result[$n]['parentid_node'] = ($t['parentid'])? ' class="child-of-node-'.$t['parentid'].'"' : '';
}
程序执行到foreach后面 就报500错误

也就是foreach这里有错误了,但是在下实在看不明白foreach循环是如何导致的500错误的

500 是服务器拒绝响应,一般是 php 程序出现了错误。
你不给出错误信息,神仙也帮不了你

如果说 本地的正常,服务器上的不正常 那么只能说明程序没有语法错误,但不表示不出现逻辑错误
比如 除0、变量值非法、字段找不到、。。。。
另外还与 php 版本、配置都有关系

在php程序中,使用 ini_set("display_errors", "On"); error_reporting(E_ALL); 开启错误提示,也没有错误信息。而此时的状态码却变成了200,但是右侧却还是没有出现想要的内容。对phpcms真是无语了,本来好使的,再点击就不能用了,有点让人摸不着头脑

如果说与配置、php版本有问题的话,那为何用了以前用着没问题,现在却莫名其妙的出现了问题呢?搞不懂是程序的问题、服务器的问题、还是权限的问题

像文件夹读写权限,路径,php版本,php环境设置,服务器软件不同,都可能引起错误

目前也在用PHPCMS的底层代码,他们的权限管理部分有个很低级的错误。
/modules/admin/classes/role_op.class.php
最后一个方法,遍历里边一定要把当前按钮的上一级找到,找不到就再次调用当前方法,所以菜单一多,直接死。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿