Как заставить 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 в потоковом режиме)
Увидеть:
- http://blog.remirepo.net/post/2014/08/01/Apache-httpd-server-2.4.10-and-PHP-FPM-5.6-in-Fedora-21
- http://blog.remirepo.net/post/2014/03/28/PHP-FPM-and-HTTPD-2.4-improvement
Чтобы подвести итог вышеприведенному посту, используйте в /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
,
- Установите
rh-php56-php
пакеты, которые вам нужны - включить и запустить
rh-php56-php-fpm
обслуживание и настройка systemdphp-fpm
в/etc/opt/rh/rh-php56/
(т.е. отредактируйтеphp-fpm.conf
а такжеphp-fpm.d/www.conf
файлы). Вам нужно решить, хотите ли вы, чтобы php-fpm слушал как минимум сокет unix или через TCP, и это также хорошая идея для правильной настройки ведения журнала, чтобы помочь в устранении неполадок. - Сконфигурируйте nginx для прокси для вашего сокета php-fpm unix или TCP-адреса, например,
localhost:9000
, Существует множество доступных для Google ресурсов по настройке nginx для php-fpm и Drupal / Mediawiki / Wordpress / и т. Д.