Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu libpcre.so.3.13.1中的php5 fpm SEGFULT错误6_Ubuntu_Segmentation Fault_Pcre_Php - Fatal编程技术网

Ubuntu libpcre.so.3.13.1中的php5 fpm SEGFULT错误6

Ubuntu libpcre.so.3.13.1中的php5 fpm SEGFULT错误6,ubuntu,segmentation-fault,pcre,php,Ubuntu,Segmentation Fault,Pcre,Php,我已经用PHP5.5.9、Apache2.4、varnish、PHPFPM和mod_proxy_fcgi安装了Ubuntu14.04服务器 我有自己的用PHP编写的小模板语言,在从旧的PHP5.2迁移到PHP5.5之后,一切似乎都正常,但在某些情况下,当我尝试渲染(preg_replace_回调函数)大小为9691字节或更多的模板时,PHP崩溃。(在libpcre.so.3.13.1中,dmesg输出php5 fpm SEGFULT错误6)。小模板大小是可以的 所以,文档中说,尝试更改pcre.

我已经用PHP5.5.9、Apache2.4、varnish、PHPFPM和mod_proxy_fcgi安装了Ubuntu14.04服务器

我有自己的用PHP编写的小模板语言,在从旧的PHP5.2迁移到PHP5.5之后,一切似乎都正常,但在某些情况下,当我尝试渲染(preg_replace_回调函数)大小为9691字节或更多的模板时,PHP崩溃。(在libpcre.so.3.13.1中,dmesg输出php5 fpm SEGFULT错误6)。小模板大小是可以的

所以,文档中说,尝试更改pcre.backtrack\u limit和pcre.recursion\u limit,所以我尝试了小、中、极值(100000000),但没有效果

系统是最新的,是否有可能增加每个进程od线程的堆栈大小


有人能帮忙吗?(很抱歉我的英语不好)F.

我也发现了同样的问题,我解决了它

pcre.递归_极限=1000

在/etc/php5/fpm/php.ini中

然后重新启动php5 fpm


希望有帮助

我不认为增加回溯或递归限制是问题的关键。大多数情况下,当达到这些限制之一时,图案设计得很糟糕。我建议你用这个模式编辑你的帖子。新信息,在32位php下测试相同的代码和配置,运行正常(在windows和linux上)。Ubuntu在apport(/var/log/apport.log)中报告崩溃,有没有办法对coredump进行编码?错误:apport(pid 7004)周二3月24日14:06:06 2015:调用pid 6894,信号11,core limit 0错误:apport(pid 7004)2015年3月24日星期二14:06:06:可执行文件:/usr/sbin/php5 fpm(命令行“php fpm:\pool\testing”)错误:apport(pid 7004)2015年3月24日星期二14:06:06:正在关闭会话():环境中没有DBUS会话总线地址错误:apport(pid 7004)2015年3月24日星期二14:06:06:apport:report/var/crash/_usr_sbin_php5-fpm.5002。crash已存在且未被发现,无法避免磁盘使用DoS^CYou救了我的好友。。。作为参考,以下是“PCRE的递归限制。请注意,如果您将此值设置为一个较高的值,您可能会消耗所有可用的进程堆栈,并最终导致PHP崩溃(由于达到操作系统施加的堆栈大小限制)。”您可以通过
ulimit-s