无为清净楼资源网 Design By www.qnjia.com

昨晚将一个disucz论坛进行转移后,发现打开的页面上回多一个PHP has encountered a Stack overflow 这个提示错误,进过翻译为“PHP遇到堆栈溢出”。我就感觉奇怪了,新站没人访问的,怎么可能会溢出。 好吧去discuz官方论坛找找解决方法。

找到的第一解决方法,更新后台缓存,结果不行。接下来检查数据库配置文件,也没有错误。检查php权限也没有错误。

discuz官网有人说是php版本太低了,个人对于这种人是比较反感的,这种说法比较扯淡。不用去验证了。


把新旧的服务器对比较,发现了一个问题,两个的路径都不同,马上去查看上级目录文件夹权限,果然是权限出现了问题。文件路径是D:/www/discuz. 查看到旧的服务器上面www和discuz文件夹权限有“匿名来宾权限”。 在去新服务器上面看到www文件夹没有“匿名来宾权限” 而discuz文件夹权限则是有的。 说明上一级目录权限不足导致的。 重新给一下权限。 ok完美解决PHP has encountered a Stack overflow的问题。

上面说了这么多,其实就是一句话:

在windows服务器下面都是因为权限问题,具体来说是上一级目录权限问题。

例如:

原来的网站目录是 d:\www\jb51

快速安全的解决方法就是在jb51目录下,新建一个目录 webroot,而且这个目录的权限跟jb51权限是一样的。

现在的网站目录就是:d:\www\jb51\webroot即可。

现在很多php系统都是因为这个问题导致出错例如 discuz、phpmyadmin等。

标签:
PHP,encountered,Stack,overflow

无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com