Я пытаюсь настроить какой-то экзотический код PHP (я не эксперт), и я получаю сообщение FastCGI Error 500 в строке PHP, содержащей 'preg_match_all'.
Когда я закомментирую строку, страница возвращается с 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 или разница в среде. Я использую PHP 5.2.13 на IIS6 с FastCGI.
Редактировать: Ничего не упоминается в файлах журнала. По крайней мере, в тех, которые я проверял:
- Журналы IIS
- Журналы событий
- PHP Log
Редактировать: jab11 указал на проблему , но решения пока нет:
Любые мысли или указания приветствуются.