Как заставить httpd использовать rh-php56 из коллекции программ Red Hat

Кому-нибудь повезло с использованием httpd rh-php56 из коллекции программ Red Hat?

Я вижу документацию о том, как включить более новую версию php в CLI... но не для того, чтобы заставить Apache использовать новую версию PHP, установленную через пакет rh-php56.

(Я должен уточнить - это для коробки RHEL 7.x)

3 ответа

Решение

rh-php56 предоставляет mod_php только для httpd24 (не для базовой системы)

Более простой способ - использовать php-fpm (который также позволяет запускать apache в потоковом режиме)

Увидеть:

Чтобы подвести итог вышеприведенному посту, используйте в /etc/httpd/conf.d/php.conf

# Redirect to local php-fpm is mod_php not available
<IfModule !mod_php5.c>
    <FilesMatch \.php$>
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
</IfModule>

Добавьте команду LoadModule в ваш httpd.conf и укажите ее на модуле php56 из RHSCL:

LoadModule php5_module /opt/rh/httpd24/root/usr/lib64/httpd/modules/librh-php56-php5.so

Обычно это работает для меня, но я протестировал только базовый рендеринг страниц. Я не удивлюсь, если в обычной конфигурации Apache есть ошибки, связанные с загрузкой модуля Special Collections. В конце концов, пакеты RH Special Collections преднамеренно устанавливаются в совершенно другую часть файловой системы, чтобы избежать конфликтов. Вы можете рассмотреть возможность использования HTTPD24 из RHSCL вместе с PHP56, чтобы избежать проблем с конфигурацией.

Я только недавно имел дело с обновлением до php56 для некоторых веб-приложений PHP на машине с RHEL 7. Я заглянул в маршрут httpd24 и по какой-то причине мне кажется, что проще просто использовать запас nginx RHEL пакет с rh-php56-php а также rh-php56-php-fpm,

  1. Установите rh-php56-php пакеты, которые вам нужны
  2. включить и запустить rh-php56-php-fpm обслуживание и настройка systemd php-fpm в /etc/opt/rh/rh-php56/ (т.е. отредактируйте php-fpm.conf а также php-fpm.d/www.conf файлы). Вам нужно решить, хотите ли вы, чтобы php-fpm слушал как минимум сокет unix или через TCP, и это также хорошая идея для правильной настройки ведения журнала, чтобы помочь в устранении неполадок.
  3. Сконфигурируйте nginx для прокси для вашего сокета php-fpm unix или TCP-адреса, например, localhost:9000, Существует множество доступных для Google ресурсов по настройке nginx для php-fpm и Drupal / Mediawiki / Wordpress / и т. Д.
Другие вопросы по тегам