Ошибка при конфигурировании PHP с существующим апачем

Я получаю это сообщение:

configure: error: Invalid Apache directory - unable to find httpd.h under /usr/lib64/httpd/

после выполнения следующей команды:

./configure --with-apache=/usr/lib64/httpd/

Я не знаю, где DIR верхнего уровня на моем уже установленном апаче. Апачский сервис уже установлен на моем сервере CentOS 6.5 от использования репозитория yum install httpd.

  • Версия 2.2.15-31 Apache
  • Версия 5.4.25 PHP
1
задан 18 September 2014 в 17:07
3 ответа

Это окончательное решение моего вопроса:

Установка пакета httpd-devel из репозитория yum install httpd-devel , в который включены заголовки apache.

Настройка php с apxs2: ./ configure --with-apxs .

И последний шаг - это добавление следующих строк в VirtualHost в файл httpd.conf (или во включенный .conf files):

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
3
ответ дан 3 December 2019 в 16:34

Если ваш apache уже собран и настроен, вам следует скомпилировать PHP как общий модуль, а не как статический.

Накладные расходы немного выше, но вы сможете обновить каждый компонент отдельно.

Пример настройки:

$ ./configure --with-apxs=<path to apxs binary in apache/http bindir>

Забыл одну вещь: ваш apache должен быть скомпилирован с включенным mod_so, чтобы использовать динамические модули, созданные с помощью apxs

2
ответ дан 3 December 2019 в 16:34

Если вы хотите скомпилировать что-то для apache - на этот раз , php -, для этого вам нужны заголовки apache. Это что-то вроде "apache-dev" или "apache2-devel" или "libapache2-devel" или пакет с аналогичным именем. Этот пакет необходимо установить.

Этот пакет разработки будет содержать двоичный файл apxs, который, вероятно, будет автоматически найден скриптами конфигурации php.

РАСШИРЕНИЕ: Во-вторых, внимательно прочтите вывод ./ configure --help исходного кода php. Насколько я помню, как будто была какая-то разница между флагами - with-apache , - with-apache2 или - with-apxs . Вы уверены, что случайно не скомпилируете apache1?

РАСШИРЕНИЕ №2: Возможно, вы могли бы также получить исходный php-пакет вашего дистрибутива, по крайней мере, чтобы узнать, как происходит (пере) компиляция.

2
ответ дан 3 December 2019 в 16:34

Теги

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