Serveur Web · 2 min read · Oct 23, 2025

Exécution d'Apache2 avec PHP5 et PHP4 en même temps

Exécution d’Apache2 avec PHP5 et PHP4 en même temps

Version 1.0
Auteur : Falko Timme
Dernière modification : 02/07/2006

Ce tutoriel montre comment installer et configurer Apache2 avec PHP5 et PHP4 activés en même temps. Comme il n’est pas possible d’exécuter à la fois PHP5 et PHP4 en tant que modules Apache, nous devons exécuter l’un d’eux en tant que CGI, l’autre en tant que module Apache. Dans ce document, j’utiliserai PHP5 comme module Apache et PHP4 comme CGI, et je décrirai la configuration pour les distributions Linux Debian Sarge (3.1) et Ubuntu 5.10 (Breezy Badger).

Je tiens à dire d’abord que ce n’est pas la seule façon de configurer un tel système. Il existe de nombreuses façons d’atteindre cet objectif, mais c’est la méthode que je choisis. Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Configuration pour Debian Sarge (3.1)

Tout d’abord, vous devez au moins avoir une installation de base Debian fonctionnelle, comme décrit dans les deux premières pages du tutoriel “Perfect Setup” pour Debian Sarge ici sur HowtoForge : https://www.howtoforge.com/perfect_setup_debian_sarge et https://www.howtoforge.com/perfect_setup_debian_sarge_p2

Comme PHP5 n’est pas disponible dans les dépôts officiels de Debian Sarge, nous devons ajouter un autre dépôt ( packages.dotdeb.org) à /etc/apt/sources.list. Ajoutez ces deux lignes :

| deb http://packages.dotdeb.org stable all deb-src http://packages.dotdeb.org stable all |

à /etc/apt/sources.list (le mien ressemble alors à ceci :

| deb http://ftp2.de.debian.org/debian/ stable main deb-src http://ftp2.de.debian.org/debian/ stable main deb http://packages.dotdeb.org stable all deb-src http://packages.dotdeb.org stable all deb http://security.debian.org/ stable/updates main |

) et exécutez

apt-get update

ensuite.

Maintenant, nous pouvons installer Apache2 ainsi que le module Apache2-PHP5 et le PHP4-CGI :

apt-get install apache2 apache2-doc
apt-get install libapache2-mod-php5 php4-cgi

Ensuite, nous pouvons installer tous les modules PHP5 et PHP4 dont nous avons besoin sur notre serveur, comme ceci :

apt-get install php5-curl php5-dev php5-gd php5-gmp php5-imap php5-ldap php5-mcrypt php5-mhash php5-ming php5-mysql php5-mysqli php5-odbc php5-pdo-mysql php5-pdo-sqlite php5-pear php5-pspell php5-snmp php5-sybase php5-tidy php4-curl php4-domxml php4-gd php4-gmp php4-imap php4-ldap php4-mcal php4-mcrypt php4-mhash php4-ming php4-mysql php4-odbc php4-pspell php4-recode php4-snmp php4-xslt php4-xdebug curl libwww-perl imagemagick (1 ligne !)

Éditez /etc/apache2/apache2.conf. Changez

| DirectoryIndex index.html index.cgi index.pl index.php index.xhtml |

en

| DirectoryIndex index.html index.htm index.shtml index.cgi index.pl index.php index.php4 index.xhtml |

et ajoutez également ces deux lignes (dans la section où vous pouvez trouver les directives AddType et AddHandler) :

| AddHandler php-script .php4 Action php-script /cgi-bin/php4 |

Cela garantira que les fichiers PHP avec l’extension .php4 sont exécutés en tant que CGI. Les fichiers PHP avec l’extension .php seront exécutés par le module Apache2-PHP5.

Ensuite, nous devons activer quelques modules Apache, comme par exemple le module actions (sinon nous ne pouvons pas exécuter PHP4 en tant que CGI) :

a2enmod actions
a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include

Redémarrez Apache, et c’est fait !

/etc/init.d/apache2 restart

Maintenant, nous pouvons tester notre installation : Mettez deux fichiers, info.php et info.php4, avec le même contenu :

| |

dans /var/www (c’est le répertoire racine par défaut d’Apache2 de Debian) et essayez d’y accéder dans un navigateur (si l’adresse IP du serveur est 192.168.0.100, par exemple, vous taperiez http://192.168.0.100/info.php et http://192.168.0.100/info.php4). Vous devriez voir deux versions PHP différentes, l’une exécutée comme module Apache (PHP5), l’autre (PHP4) appelée comme CGI :

info.php :

info.php4 :

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.