【问题标题】:Apache Connection Reset with preg_split使用 preg_split 重置 Apache 连接
【发布时间】:2014-06-11 15:10:34
【问题描述】:

我在使用 Apache/2.2.25 (Win32) 和 PHP/5.4.10 时遇到了一个非常奇怪的行为,

我有这个代码

$content = <<<EOF
<UNICODE-WIN>
<Version:7><FeatureSet:InDesign-R2L><ColorTable:=<Black:COLOR:CMYK:Process:0,0,0,1>>
<DefineCharStyle:Character Style 1=<Nextstyle:Character Style 1><cTypeface:Bold Italic><cSize:19.000000><cCase:All Caps><cPosition:Normal><cKashida:Default>>
<DefineParaStyle:Paragraph Style 1=<Nextstyle:Paragraph Style 1><cTypeface:Bold Italic><cCase:All Caps>>
<DefineParaStyle:NormalParagraphStyle=<Nextstyle:NormalParagraphStyle>>
<ParaStyle:Paragraph Style 1><CharStyle:Character Style 1>Text Sample Text Sample Text Sample
<CharStyle:><ParaStyle:Paragraph Style 1>
<ParaStyle:NormalParagraphStyle><CharStyle:Character Style 1>
<CharStyle:><ParaStyle:NormalParagraphStyle>Text Sample Text Sample Text Sample Text Sample .
<CharStyle:><ParaStyle:NormalParagraphStyle>aa aaaaa aaaa  \\\<bbbbbbb\\\\\>cccccc
<ParaStyle:NormalParagraphStyle>
Text Sample Text Sample Text Sample Text Sample Text Sample Text Sample
<ParaStyle:NormalParagraphStyle><CharStyle:Character Style 1>Text Sample
<CharStyle:><ParaStyle:NormalParagraphStyle>
Text Sample Text Sample Text Sample Text Sample Text Sample
<ParaStyle:NormalParagraphStyle>Text Sample Text Sample Text Sample Text Sample
<ParaStyle:NormalParagraphStyle><CharStyle:Character Style 1><cNextXChars:Column>
<CharStyle:><ParaStyle:NormalParagraphStyle><cNextXChars:Column>
<ParaStyle:NormalParagraphStyle>Text Sample Text Sample
<ParaStyle:NormalParagraphStyle>
EOF;
$regex         = '/((<(([^<>]|<[^<>]*>)*)>\s*)+)/s';
$parts         = preg_split( $regex, $content, null, PREG_SPLIT_OFFSET_CAPTURE | PREG_SPLIT_NO_EMPTY );

由于某种原因,当我执行此代码时,它会导致浏览器中的连接重置页面,Apache 或 PHP 中没有错误日志

在网上做了一些研究,但没有找到好的解决方案,

这是results of phpinfo page on the Windows server的链接

另外请注意,我在其他服务器 Windows 和 CentOS 上运行相同的代码,它工作得很好

感谢您的帮助

【问题讨论】:

    标签: php apache connection reset preg-split


    【解决方案1】:

    我可以通过将 ThreadStackSize 增加到 8 MB 而不是 Windows 默认值 1 MB 来解决此问题,您只需将这些行添加到 Apache conf 文件中

    <IfModule mpm_winnt_module>
       ThreadStackSize 8388608
    </IfModule>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 2021-12-01
      • 1970-01-01
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多