|
4.2.1 Apache 1.3.x sur les systèmes Unix
Cette section contient des notes spécifiques pour l'installation de PHP
avec Apache sur les systèmes Unix. Des notes spécifiques
pour Apache 2 sont aussi disponibles sur une
page séparée .
Vous pouvez sélectionner des options à ajouter au fichier
configure
à la ligne 10 depuis la
liste complète des options de configuration .
Les numéros de versions ont été omis ici afin de s'assurer que les instructions ne
soient pas incorrectes. Vous devrez donc remplacer les 'xxx' par les versions
correctes de vos fichiers.
Alternativement, pour installer PHP en tant qu'objet statique :
| Note | |
Remplacez
php-4
par
php-5
et
php4
par
php5
en PHP 5.
|
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.
| Exemples de commandes pour le 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), similaires à apachectl: /path/to/httpsdctl stop /path/to/httpsdctl start
4. En utilisant mod_ssl, ou un autre serveur SSL, vous pouvez vouloir l'arrêter et le démarrer manuellement : /path/to/apachectl stop /path/to/apachectl startssl
|
L'emplacement des exécutables apachectl et http(s)dctl peut
varier. Si votre système est pourvu des commandes
locate
,
whereis
ou
which
, elles peuvent vous aider à retrouver vos programmes.
Différents exemples de compilation PHP pour Apache suivent :
./configure --with-apxs --with-pgsql
|
Cette commande va créer une bibliothèque 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 de PHP avec le support PostGreSQL |
./configure --with-apxs --with-pgsql=shared
|
Cette commande va créer une bibliothèque partagée
libphp4.so
pour Apache, mais va aussi créer la bibliothèque 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 en bibliothèques statiques |
./configure --with-apache=/path/to/apache_source --with-pgsql
|
Cette commande va créer une autre bibliothèque partagée
libmodphp4.a
, un fichier
mod_php4.c
et quelques fichiers associés dans le dossier
src/modules/php4
du dossier source 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 lier statiquement avec
httpd
(remplacez
php4
par
php5
en PHP 5). 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 en bibliothèques partagées |
./configure --with-apache=/path/to/apache_source --with-pgsql=shared
|
Comme précédemment, mais au lieu d'inclure le support PostgreSQL
directement dans l'exécutable
httpd
final, vous allez obtenir
une bibliothèque 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 votre 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
httpd.conf
par défaut de Apache est fourni avec une
section qui ressemble à ceci :
| httpd.conf fournit par Apache |
User nobody Group "#-1"
|
A moins que vous ne changiez cette valeur par "Group nogroup"
ou quelque 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 :
|