您的位置:首页 > 编程语言 > PHP开发

辛星关于php最大递归次数的讨论

2014-08-15 10:28 239 查看
今天一位朋友问我php的最大递归次数可否设置的更大一些,我想了想,就在我的博客的回复中给他回复了,但是不知道为什么csdn提示我说连接过多,无法显示,我也就很头疼的另开一贴,来解答这个问题。

当然了,咱们不能凭经验和猜测,我就去这个php的配置文件找了找,找到了下面这些设置项,看下面代码:

;PCRE library recursion limit. 
;Please note that if you set this value to a high number you may consume all 
;the available process stack and eventually crash PHP (due to reaching the 
;stack size limit imposed by the Operating System).
; http://php.net/pcre.recursion-limit ;pcre.recursion_limit=100000


我们发现最大递归次数是可以自由设置的,当然它这里并没有设置,但是我个人不建议设置的太大,因为大家试想一下,MATLAB这种专业处理数据的,才支持递归大约五百次左右,处理数据并不是php的强项,如果我们递归次数过深,那也会严重的拖累系统性能,这也就是理论上我们的楼层可以建筑N层,但是真的不要这么做,成本太高,不划算也没必要。

当然了,它也受操作系统和运行时分配的堆栈段的大小,不过这里我没有给出严格的数据测试,只是从php.ini中搜了搜,得到的信息也不是很全面,不过有一点是可以确认的:那就是这个数据是可以自由设置的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: