1
3
降低“pcre.recursion\u limit”总是一个好主意,因为默认的高值会损坏进程堆栈(请参阅 http://php.net/manual/en/pcre.configuration.php )-这正是安装mod\u php时发生的情况。由于preg函数在达到递归/回溯限制时不会抛出错误,因此使用类似
至少,这让你知道什么时候出了问题。
|
2
1
增加Apache堆栈,问题就会消失,或者使用httpd配置来增加它。 大多数Apache构建的堆栈太小,而PHP构建只有一个普通的堆栈。它解释了为什么相同的表达式在CLI中工作而在Apache中不工作(堆栈是每个进程的,进程由Apache拥有/定义)。 |
3
1
非常感谢这个帖子。它解决了我的问题。 原因是windows上Apache堆栈的配置。 增加Apache堆栈大小的快速方法是在Apache的配置中使用ThreadStackSize指令( http://httpd.apache.org/docs/2.2/mod/mpm_common.html#ThreadStackSize )
它将堆栈大小设置为8MB,与Linux上的默认值相同。 (感谢您的支持 https://bugs.php.net/bug.php?id=47689 ) |
4
0
崩溃通常意味着您遇到了PHP错误。它时不时地发生。除非能够升级PHP安装,否则必须重写代码。无论如何,高递归级别建议您不应该使用正则表达式,或者至少,您应该首先将输入字符串拆分为更小的部分。 |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |