我正在运行一些PHP网站的Windows IIS服务器上。我们将一个功能正常的PHP网站迁移到了我们的服务器,但是提交其中一个表单后出现了以下错误:
PHP has encountered a Stack overflow
在注释掉 MYSQL 插入并分配 SESSION 变量时,表单可以处理,但这些是提交表单的重要部分。
任何帮助都将不胜感激。
我正在运行一些PHP网站的Windows IIS服务器上。我们将一个功能正常的PHP网站迁移到了我们的服务器,但是提交其中一个表单后出现了以下错误:
PHP has encountered a Stack overflow
在注释掉 MYSQL 插入并分配 SESSION 变量时,表单可以处理,但这些是提交表单的重要部分。
任何帮助都将不胜感激。
递归过深?
对于我来说,通常是一个无限循环(包括无限递归)。
你们正在使用哪个版本的PHP?如果我没记错的话,在一些旧版本中,无限(或非常深的)递归会导致栈溢出。今天你会得到一个更具体的错误信息(“达到最大函数嵌套级别100,中止!”)。
你提到会话可能是原因;你是否在会话中存储复杂的数据结构?会话在请求之间序列化和反序列化,如果你在其中放置了过多的东西,可能会导致一些问题(不确定什么程度算是过多)。也许你可以减少一些呢?
[离题]
$stackoverflow = file_get_contents( http://stackoverflow.com/tags/php );
// voila, php encountered stackoverflow ^-^