Nous souhaitons que notre serveur Apache interprête dans les mêmes sessions les fichiers soit par PHP4 soit par PHP5.
Solution facile :
Télécharger tous les RPMS suivants :
http://www.ehol.org/decharge/centos4/RPMS/
Pour faciliter le téléchargement taper cette commande :
Il y a tris dépendance à résoudre avant :
/home/buildcentos/CENTOS/en/4.0/i386/CentOS/RPMS/libc-client-2002e-14.i386.rpm /home/buildcentos/CENTOS/en/4.0/i386/CentOS/RPMS/net-snmp-5.1.2-11.EL4.11.i386.rpm /home/buildcentos/CENTOS/en/4.0/i386/CentOS/RPMS/postgresql-libs-7.4.17-1.RHEL4.1.i386.rpmlm_sensors
# rpm -Uvh http://www.ehol.org/decharge/centos4/RPMS/liste_RPMS
Il nous faut ensuite activer le module fastcgi pour apache. En effet apache ne supporte pas le fonctionnement de php4 et php5 tous deux en tant que modules, il faut donc que php5 soit lancée par le CGI.
Le système d’inclusion des modules apache dans Redhat pose problème en effet, la ligne Include conf.d/*.conf est insérée avant la déclaration de l’utilisateur apache.
Pour résoudre ce problème d’inclusion tardive, nous allons ajouter une ligne dans /etc/httpd/conf/httpd.conf
#echo Include conf_cgi.d/*.conf >> /etc/httpd/conf/httpd.conf
Puis nous allons créer le fichier suivant qui va nous permettre de gérer le PHP avec CGI.Le fichier mod_fcgi.conf est à placer dans /etc/httpd/conf_cgi.d/ :
LoadModule fastcgi_module modules/mod_fastcgi.so<IfModule mod_fastcgi.c># FastCGI directivesFastCgiIpcDir /tmp/fcgi_ipc/AddHandler fastcgi-script .fcgiFastCgiConfig -autoUpdate -singleThreshold 100 -killInterval 300 -idle-timeout 240 -pass-header HTTP_AUTHORIZATION</IfModule>AddHandler application/x-httpd-php5 .php5Action application/x-httpd-php5 /cgi-bin/php5.fcgi
Créer ensuite le répertoire /tmp/fcgi_ipc avec les droits pour apache de lecture/ecriture:
#mkdir /tmp/fcgi_ipc#chown apache:apache /tmp/fcgi_ipc#chmod 755 /tmp/fcgi_ipc
Créer le fichier php5.fcgi dans /var/www/cgi-bin avec les droits pour apache de lecture/ecriture/execution :
#!/bin/shPHP_FCGI_CHILDREN=2export PHP_FCGI_CHILDRENPHP_FCGI_MAX_REQUESTS=5000export PHP_FCGI_MAX_REQUESTSexec /usr/bin/php5-fcgi
#chown apache:apache /var/www/cgi-bin/php5.fcgi#chmod 755 /var/www/cgi-bin/php5.fcgi
Rédemarrer Apache et maintenant tout fichier avec l’extension php5 sera executé avec le module cgi php5 