web-dev-qa-db-fra.com

Comment forcer httpd à utiliser rh-php56 à partir de collections de logiciels Red Hat

Quelqu'un a-t-il de la chance pour que httpd utilise rh-php56 des collections de logiciels Red Hat? 

Je vois la documentation sur la façon d'activer la nouvelle version de php sur la CLI ... mais pas pour qu'Apache utilise la nouvelle version de PHP installée via le paquetage rh-php56. 

(Je devrais préciser - ceci concerne une boîte RHEL 7.x)

10
Mike Broyles

rh-php56 fournit mod_php uniquement pour httpd24 (pas pour le système de base)

Le moyen le plus simple est d’utiliser php-fpm (qui permet également d’exécuter Apache en mode threadé)

Voir:

Pour résumer le message ci-dessus, utilisez dans /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>
5
Remi Collet

Ajoutez la commande LoadModule à votre httpd.conf et pointez-le vers le module php56 depuis RHSCL:

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

Cela semble généralement fonctionner pour moi, mais je n'ai testé que le rendu de base des pages. Je ne serais pas surpris s'il y a des bugs liés au chargement d'un module Collections spéciales dans la configuration Apache normale. Après tout, les packages RH Special Collections s’installent intentionnellement dans une partie complètement différente du système de fichiers pour éviter les conflits. Vous voudrez peut-être envisager d'utiliser HTTPD24 à partir de RHSCL avec PHP56 pour éviter les problèmes de configuration.

1
GracefulCode

Je venais tout juste de faire face à la mise à niveau vers php56 pour certaines PHP webapps sur une machine RHEL 7. J'ai examiné la route httpd24 et, pour une raison quelconque, il semble beaucoup plus simple d'utiliser le package stock nginx RHEL avec rh-php56-php et rh-php56-php-fpm.

  1. Installez les packages rh-php56-php dont vous avez besoin
  2. activez et démarrez le service rh-php56-php-fpm systemd et configurez php-fpm dans /etc/opt/rh/rh-php56/ (c.-à-d. modifiez les fichiers php-fpm.conf et php-fpm.d/www.conf). Vous devrez décider si vous voulez que php-fpm écoute sur un socket Unix ou via au minimum TCP. Il est également judicieux de configurer la journalisation correctement pour faciliter le dépannage.
  3. Configurez nginx sur un proxy pour votre socket unix php-fpm ou votre adresse TCP, par exemple, localhost:9000. Il y a beaucoup de ressources sur la configuration de nginx pour php-fpm et Drupal/Mediawiki/Wordpress/etc.
0
A Lee