Не запускается apache 2.2 после обновления PHP. Как исправить?
После обновления php на старой freebsd 8 не получается запустить apache. После поиска ошибки стало понятно, что apache не подгружает php как модуль. Я сам не сисадмин и сервер этот настраивал лет 5 назад так, что там работала связка php+nginx+apache.
После долгих мучений настроить php+nginx у меня не получается, вот и решил попробовать по старинке php+apache.
Как запустить apache?
Invalid command 'php_admin_value', perhaps misspelled or defined by a module not included in the server configuration
________________ Решено:
Обновить апач и поставить из портов mod_php55, чтобы все работало вместе.
Сергей: Зачем вы человеку обсуждение виндового апача с php даете? Там явно специфично-виндовая проблема с несовместимостью. В FreeBSD такой проблемы нет. Человек просто собрал новый PHP, который, кстати, нормально совместим с apache-2.2.
Александр А: Тем, что по ссылке на StackOverFlow человек пытается воткнуть в apache-2.2 библиотеку от apache-2.4. Это я ее имел ввиду специфической, если что.
И решение апгрейдом виндового апача с виндовым PHP слабо кореллирует с данным топиком, в котором упомянут FreeBSD 8.
Господа, по не подтвержденной информации : "Как оказалось, язык php5 больше не ставится самостоятельно, как модуль для apache22. Чтобы включить возможность их совместного использования, теперь необходимо установить отдельно модуль mod_php55. ". Так что апргейд апача врятли поможет. Сейчас даже не получается скомпилить php
libtool: link: cannot find the library `/usr/local/lib/libiconv.la' or unhandled argument `/usr/local/lib/libiconv.la'
*** Error code 1
Vincent1: Ну так установите libiconv, какие проблемы? Вообще, 8-ая фря -- уже достаточно старая, и если никаких сервисов на этот сервер больше не завязано, я бы рекомендовал установить начисто 10-ку. Ну и пользоваться потом правильными инструментами -- периодически делать portsnap fetch update, порты обновлять через portupgrade, и всё такое :-)
Vincent1: А вообще, в вашем случае я бы загуглил конкретно вашу ошибку - php_admin_value - видимо чего-то не хватает в самом php. Можно попробовать доустановить libapache2-mod-php5
Например как это указано тут www.ehcp.net/?q=node/544
Опять же, надо посмотреть как у вас установлен php.
Возможно действительно проще будет все снести и поставить LAMP, в котором зависимости прописаны нормально
Сергей: да причем тут LAMP? Вы привели ссылку на StackOverFlow, где обсуждается проблема на винде. Я и ответил именно на этот Ваш комментарий.
А у топикстартера вообще FreeBSD, он уже сам докопался до того, что надо подсобрать mod_php5, который с некоторого времени собирается из портов отдельно от основного порта php5 и ссылки даже на LAMP ему не сильно помогут (ну нет aptitude и apt и yum в FreeBSD).
Переставить - да, поможет, но вопрос был в том, как починить имеющееся, а не убить и восстановить.
У тебя (ничего, что на "ты"), скорее всего не включен модуль libphp5.so в httpd.conf (ну или в одном из конфигов).
Обычно, если apache22, в конфиге /usr/local/etc/apache22/httpd.conf примерно на 75 строке должно быть такое:
рядом с другими LoadModule. Либо в одном из конфиг-файлов.
При деинсталляции php (и про portupgrade) эта строка удаляется, а обратно, возможно, не воткнулась.
Ах если бы я проводил обновление через portupgrade... Такой строки 'LoadModule php5_module' в моем httpd.conf нет, точно так же как и каких-нибудь модулей с названием похожим на php5 в libexec/apache22/.
Что собственно и вводит меня в ступор.
httpd: Syntax error on line 118 of /usr/local/etc/apache22/httpd.conf: Cannot load /usr/local/libexec/apache22/libphp5.so into server: Cannot open "/usr/local/libexec/apache22/libphp5.so"
cd /usr/ports/lang/php5/
make config-recursive && make install clean
cd /usr/ports/lang/php5-extensions/
make config-recursive && make install clean
Почему библиотеки не в папке я узнал, но не проверил еще (Как оказалось, язык php5 больше не ставится самостоятельно, как модуль для apache22. Чтобы включить возможность их совместного использования, теперь необходимо установить отдельно модуль mod_php55.).
И теперь не могу установить php - пишет
libtool: link: cannot find the library `/usr/local/lib/libiconv.la' or unhandled argument `/usr/local/lib/libiconv.la'
*** Error code 1
Я конечно же пошел и проверил, и вправду такой библиотеки по указанному пути нет :(