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

yipeiwu_com6年前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等。

相关文章

解决phpmyadmin中文乱码问题。。。

解决phpmyadmin中文乱码问题。。。 去phpMyAdmin的根目录下,打开以下这个文件: libraries/select_lang.lib.php    1、找到有"zh-gb...

php中3des加密代码(完全与.net中的兼容)

复制代码 代码如下: <?php class Crypt3Des { private $key = ""; private $iv = ""; /** * 构造,传递二个已经进行b...

Windows 下的 PHP-PEAR 安装方法

Windows 下的 PHP-PEAR 安装方法

直接下载解压,然后把它放到你的根目录底下,运行之即可(或者也可以使用 PHP CLI 运行它,效果一样): 打包下载地址...

PHP自定session保存路径及删除、注销与写入的方法

本文实例讲述了PHP自定session保存路径及删除、注销与写入的方法。分享给大家供大家参考。具体方法如下: 复制代码 代码如下: $sessionpath=session_save_p...

php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位

each()定义和用法 each() 函数生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动。 返回的数组中包括的四个元素:键名为 0,1,key 和 v...