Nginx возвращая 502 Недопустимых шлюза

Поскольку sed соответствия в a greedy способ, всегда существует возможность, что текст мимо конца комментария будет подобран вместо предыдущего реального маркера конца комментария, например, как в заключенной в кавычки строке, которая содержит "* /".
Это не может быть обработано sed простым способом, но можно работать вокруг этого. Вот один такой метод: использование односимвольного заполнителя для конечного ограничителя с двумя символами. Используя шестнадцатеричное значение \x01 поскольку заместитель символов в безопасности (т.е. не столкнется с существующим текстом), поскольку он не существует в обычном тексте.

sed "\|^/\*.*\*/|{ s|\*/|\x01|; s|.*\x01|| }" "$file"

perl, с другой стороны, может дополнительно обработать lazy соответствие (и намного больше). Как уже упомянуто принцем John Wesley в комментариях, вот ленивое perl эквивалентный.

perl -ple 's|/\*.*?\*/||g' "$file"
0
11.06.2013, 17:51
1 ответ

Я смог решить проблему при помощи aptitude purge удалить все пакеты PHP и их конфигурационные файлы наряду с nginx. Я затем переустановил каждый пакет PHP индивидуально, поскольку это стало необходимым. Я также использовал конфигурационные файлы perusio PHP-FPM.

0
28.01.2020, 05:02

Теги

Похожие вопросы