3.3.10.1 Détails pour l'installation de PHP sous Apache sous Unix.
Il y a deux méthodes d'installation de PHP avec Apache 1.3.x
sous Windows. L'une passe par les CGI (php.exe),
l'autre est d'utiliser la DLL de module d'apache. Dans les deux cas,
vous devrez arrêter le serveur Apache, et éditer le fichier
srm.conf
ou
httpd.conf
,
pour configurer Apache avec PHP.
Vous pouvez sélectionner des options à ajouter au fichier
configure
à la ligne 8 depuis la
liste complète des options de configuration .
Suivant votre installation d'Apache et votre variante d'Unix,
il existe de nombreuses façons d'arrêter et redémarrer
Apache. Voici une liste des commandes typiques, pour différentes
installations. Remplacez
/path/to/
par
le chemin d'accès à vos applications sur votre système.
Redémarrage d'apache |
[1. Nombreuses variantes Linux SysV : /etc/rc.d/init.d/httpd restart 2. Avec les scripts apachectl : /path/to/apachectl stop /path/to/apachectl start 3. httpdctl et httpsdctl (utilisant OpenSSL), similaire à apachectl: /path/to/httpsdctl stop /path/to/httpsdctl start 4. En utilisant mod_ssl, ou un autre serveur SSL, manuellement : /path/to/apachectl stop /path/to/apachectl startssl
|
Les exécutables apachectl et http(s)dctl peuvent être situés
dans différents dossiers. Si votre système a
locate
ou
whereis
ou
which
, utilisez-les pour retrouver vos
programmes.
Différents exemples de compilation PHP pour Apache suivent :
Compilation sur Apache avec l'extension PostGreSQL |
./configure --with-apxs --with-pgsql
|
Cette commande va créer une librairie partagée
libphp4.so
qui sera chargée par Apache avec
une ligne LoadModule dans le fichier
httpd.conf
.
Le support PostgreSQL est aussi inclut dans
libphp4.so
.
Compilation sur Apache avec l'extension PostGreSQL (librairie partagée) |
./configure --with-apxs --with-pgsql=shared
|
Cette commande va créer une librairie partagée
libphp4.so
pour Apache, mais va aussi créer la librairie partagée
pgsql.so
qui sera chargée dans PHP avec une directive
du fichier
php.ini
file ou en la chargeant explicitement dans le script
avec la fonction
dl
.
Compilation sur Apache avec l'extension PostGreSQL (2) |
./configure --with-apache=/path/to/apache_source --with-pgsql
|
Cette commande va créer une autre librairie partagée
libmodphp4.a
, un fichier
mod_php4.c
et quelques fichiers compagnons
dans le dossier
src/modules/php4
du dossier
Apache. Puis, vous devez compiler Apache avec
--activate-module=src/modules/php4/libphp4.a
et le système de compilation d'Apache va créer un fichier
libphp4.a
et le lien statiquement avec
httpd
. Le support PostgreSQL est alors
inclus directement dans l'exécutable
httpd
,
ce qui fait que le résultat final est un fichier unique
httpd
, qui inclut Apache et PHP.
Compilation sur Apache avec l'extension PostGreSQL (2) (librairie partagée) |
./configure --with-apache=/path/to/apache_source --with-pgsql=shared
|
Identique à la version précédente, mais au lieu d'inclure le
support PostgreSQL directement dans l'exécutable final
httpd
, vous allez obtenir une librairie
partagée
pgsql.so
que vous pouvez charger
dans PHP soit grâce au fichier de configuration
php.ini
ou dynamiquement avec
dl
.
Lorsque vous faites le choix entre les différents modes de
compilation de PHP, vous devez prendre en compte leurs avantages
et inconvénients respectifs. Les objets partagés permettent de
compiler PHP et Apache de manière séparée, et vous n'aurez pas à
compiler l'ensemble pour faire évoluer PHP. La compilation statique
permet de charger et d'exécuter plus rapidement PHP. Pour plus
d'informations, voyez la page web sur le
support des DSO .
Note |
Le fichier de configuation d'Apache actuel est fourni avec une
section qui ressemble à ceci :
Configuration de l'utilisateur d'exécution d'Apache
|
User nobody Group "#-1"
|
A moins que vous ne changiez cette valeur par
Group nogroup
ou quelques chose comme ça (
Group daemon
est aussi classique),
PHP ne sera pas capable d'ouvrir des fichiers.
|
Note |
Assurez-vous que vous spécifiez la version installée de apxs avec l'option
--with-apxs=/path/to/apxs. Vous ne devez PAS utiliser la version d'apxs qui est
dans les sources d'Apache, mais celle qui est réellement installée sur votre
système.
|
Sommaire :
|