Я пытаюсь запустить установку Gallery2 на моей (обновленной) машине с FreeBSD 8.1. Раньше это были FreeBSD 6.2 и Gallery2, которые там работали. Надеюсь, моя проблема не очень связана с Gallery2.

То, что я испытываю сейчас (помимо других вещей, которые, я надеюсь, не связаны), это то, что Apache (2.2.15) иногда (когда я (пытаюсь) перемещаться в Gallery2) пытается загрузить модуль с именем pcre.so Кажется, этот модуль ищется в /usr/local/lib/php/20090626-debug . Теперь этот путь действительно не существует (больше?). На машине нет (то есть не должно быть) отладочной сборки php.

Вот запись в журнале из /var/log/httpd-error.log:

Unknown(0) : Warning - PHP Startup: Unable to load dynamic library
        '/usr/local/lib/php/20090626-debug/pcre.so' - Cannot open
        "/usr/local/lib/php/20090626-debug/pcre.so"

Мне интересно, откуда этот путь ... Например, есть каталог /usr/local/lib/php/20090626/ но в нем также нет pcre.so Также был удален порт devel/php5-pcre (очевидно, потому что pcre сейчас в lang/php5 ?).

Сначала я сделал сборку PHP в режиме отладки (по ошибке). Но я тем временем удалил и переустановил PHP (и все расширения) и даже Apache - все равно появляется та же самая запись в журнале.

Есть второй тип записи в журнале, который я не могу объяснить (снова из /var/log/httpd-error.log ):

<br />
<b>Warning</b>:  Directive 'magic_quotes_gpc' is deprecated in PHP 5.3
        and greater in <b>Unknown</b> on line <b>0</b><br />

Но я не могу найти что-либо ссылающееся на / использующее magic_quotes_gpc (например, оно не находится в /usr/local/etc/php.ini или, точнее, там закомментировано).

Кто-нибудь может дать подсказку, почему Apache может искать (устаревший) модуль по устаревшему / несуществующему пути?

3 ответа3

0

Попробуйте удалить prce, проверьте, работает ли он, если нет, удалите каталоги php, а затем пересоберите php 5:

$ sudo apt-get remove php5-pcre
$ rm -rf /usr/local/include/php /usr/local/lib/php /usr/local/etc/php
0

Переустановка devel/pcre похоже, решила проблему. Смотрите мой комментарий к ответу BloodPhilia.

Я не знаю, почему это сработало.

0

Порты расширения не спамят основной файл php.ini но, если они изменяют /usr/local/etc/php/extensions.ini , вы, вероятно, должны удалить его оттуда (но это странно, поскольку этот файл не использует полные пути только имя файла, также об этом нужно было позаботиться во время деинсталляции пакета, возможно, лучше проверить с помощью pkg_info|fgrep php если оно у вас еще есть, и в этом случае pkg-delete it).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .