我想设置一些外来的PHP代码(我不是专家),并且在包含'preg_match_all'的PHP行上出现FastCGI错误500。PHP中的preg_match_all上的Fastcgi 500错误
当我注释掉该行时,页面返回200(但不是它应该如何)。
该代码解析从数据库加载的PHP,HTML和JavaScript内容,并正在编写它们以返回完成的页面。
现在,通过放置一些error_log
条目,我可以确定preg_match_all
的行是500的原因。但是,在加载页面期间和其他场合下,该行多次命中,行不会导致错误。
下面是它的样子完全相同:
preg_match_all ("/(<([\w]+)[^>]*>)((?:.|\n)*)(<\/\\2>)/",
$part['data'], $tags, PREG_PATTERN_ORDER|PREG_OFFSET_CAPTURE);
主题字符串是一段文字,看起来像:
<script> ... some javascript functions ... </script>
编辑:这是代码,并正常运行其他地方,所以这很好可能是一个PHP设置或环境差异。我在FastCGI上使用IIS6上的PHP 5.2.13。
编辑:日志文件中没有提及任何内容。至少在那些我检查:
- IIS日志
- 事件日志
- PHP登录
编辑:jab11has pointed out the problem,但没有解决办法尚未:
任何想法或方向都会受到欢迎。
检查您的错误日志并在此处报告完整的错误消息... – ChristopheD 2010-03-29 12:00:38