После обновления версии PHP 5.2.* c PHP 5.3.6 на своём небольшом VDS с FreeBSD 8 возникла небольшая проблема: PHP не хотел устанавливать модуль filter.so, который содержит множество полезных инструментов для фильтрации и валидации различных типов данных, что практически заставляет отказаться от регулярных выражений для решения ряда этих задач. Так вот, при установке расширения filter.so установщик жаловался на отсутствие PCRE или типа того. Среди кучи разнообразной юниксовской ругани были строки:

Stop in /usr/ports/security/php5-filter.
*** Error code 1

Начал искать решение в интернете.

В чём заключалась сама проблема я так и не понял, но зато нашёл её решение:

# cd /usr/ports/lang/php5/
# make extract
# cp /usr/ports/lang/php5/work/php-5.3.6(текущая версия)/ext/pcre/pcrelib/pcre.h /usr/local/include/php/ext/pcre/

При этом порт php5 должен быть мейкнутым (make). Если вы делали clean, то нужно предварительно сделать make:

# cd /usr/ports/lang/php5/
# make

Не забудьте перезапустить апач на сервере!

Если данные рукоблудства проблему не решили — пробуем обновить ПО:

# portupgrade -f php5
# portupgrade -a
# cp /usr/ports/lang/php5/work/php-5.3.6(текущая версия)/ext/pcre/pcrelib/pcre.h /usr/local/include/php/ext/pcre/

Процесс достаточно продолжительный, иногда выскакивают диалоговые окна с вопросами, на которые нужно ответить.

Опубликовано 09.06.2011в 06:42. В рубриках: Администрирование. Вы можете следить за ответами к этой записи через RSS 2.0. Вы можете оставить свой отзыв или трекбек со своего сайта.

Оставьте отзыв

Это не спам.
сделано dimoning.ru