Amélioration de PHP-FPM et HTTPD 2.4

Suite du billet PHP-FPM et HTTPD 2.4

Jusqu'à présent, on devait passer par la directive ProxyPassMatch, pas très souple, voici comment faire plus simple.

La version Apache HTTP Server 2.4.9 récemment publiée sera bientôt disponible dans les mises à jour de Fedora 20.

Cette version intègre un correctif (pas encore appliqué dans la version officielle) qui permet de rediriger les requêtes vers un mandataire FastCGI à l'aide de la directive SetHandler.

La directive ProxyPassMatch étant évaluée au tout début d'une requête

  • les directives AddType (pour le MultiView) ou DirectoryIndex ne sont pas utilisables
  • la gestion des droits par dossier n'est pas prise en compte
  • chaque Alias doit être complété d'une règle de proxy

La directive SetHandler qui est évaluée à la fin est donc beaucoup plus pratique, elle est d'ailleurs utilisée pour mod_php

<FilesMatch \\.phps$>
      SetHandler application/x-httpd-php-source
</FilesMatch>

Grâce à cette évolution on va pouvoir utiliser php-fpm aussi simplement que mod_php.

Pour rediriger les scripts PHP vers le serveur FPM:

<FilesMatch \\.php$>
     SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

Attention, si vous désinstallez ou désactivez mod_php vous devez aussi supprimer toutes les directives php_value et php-flag, par exemple en les rendant conditionnelles :

<IfModule  mod_php5.c>
       php_value session.save_handler "files"
        php_value session.save_path    "/var/lib/php/session"
        php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache"
</IfModule>

Au passage, on peut en profiter pour abandonner le MPM prefork au profit d'un mode utilisant les threads :

#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
LoadModule mpm_event_module modules/mod_mpm_event.so

Ensuite, les applications web en PHP fonctionnent normalement (sauf celle utilisant l'authentification http, qui n'est pas encore supportée par FPM).

A suivre : l'utilisation des Sockets du domaine Unix, annoncé pour la 2.4.9 mais ne fonctionne que partiellement (les correctifs sont en cours de revue).

Vus : 1829
Publié par Remi Collet : 73