我想設置一些外來的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