欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP has encountered a Stack overflow问题解决方法

程序员文章站 2023-11-08 15:44:46
昨晚将一个disucz论坛进行转移后,发现打开的页面上回多一个php has encountered a stack overflow 这个提示错误,进过翻译为“php遇到...

昨晚将一个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等。