Cette section contient les notes et conseils d'installation de PHP avec le serveur Apache 2.0 sur les systèmes Unix.
Nous ne recommandons pas l'utilisation de PHP dans un environnement threadé MPM, avec Apache 2. Utilisez le mode prefork MPM à la place, ou utilisez Apache 1. Pour savoir pourquoi, lisez l'entrée de la FAQ correspondante à l'utilisation d'Apache 2 dans un environnement threadé MPM.
Il est vivement recommandé de lire la » documentation Apache pour avoir une meilleure connaissance du serveur web Apache 2.0.
Note: Notes sur la compatibilité de PHP avec Apache 2.0
Les versions de PHP suivantes sont reconnues pour fonctionner avec la plus récente version d'Apache 2.0.x :Ces versions de PHP sont compatibles avec Apache 2.0.40 et plus récent.
- PHP 4.3.0 ou plus récent, disponible à » http://www.php.net/downloads.php.
- Les dernières versions stables de développement. Le code source est disponible à » http://snaps.php.net/php5-latest.tar.gz, ou les exécutables compilés pour Windows à » http://snaps.php.net/win32/php5-win32-latest.zip.
- Une version non stable, téléchargeable sur » http://qa.php.net/.
- Vous pouvez obtenir PHP sur le » serveur CVS anonyme.
Le support des SAPI d'Apache 2.0 a commencé avec PHP 4.2.0. PHP 4.2.3 est connu pour fonctionner avec Apache 2.0.39. N'essayez pas d'utiliser cette version de PHP avec une autre version d'Apache 2.0. Sinon, nous vous recommandons de configurer PHP 4.3.0 ou supérieures avec la plus récente des versions d'Apache 2.
Toutes les versions de PHP mentionnées ici fonctionnent avec Apache 1.3.x.
Téléchargez la version la plus récente de » Apache 2.0 et une version appropriée de PHP, tel que décrit ci-dessus. Ce guide rapide couvre les manipulations de base, nécessaires à l'installation de Apache 2.0 et PHP. Pour plus d'informations, lisez la » documentation Apache. Les numéros de version sont omis ici, pour s'assurer que les instructions ne soient pas incorrectes. Il faudra donc remplacer les séquences 'NN' avec les valeurs correctes que vous utilisez.
Exemple #1 Instruction d'installation (Module partagé Apache 2)
1. gzip -d httpd-2_0_NN.tar.gz 2. tar xvf httpd-2_0_NN.tar 3. gunzip php-NN.tar.gz 4. tar -xvf php-NN.tar 5. cd httpd-2_0_NN 6. ./configure --enable-so 7. make 8. make install Maintenant, vous avez un dossier Apache 2.0.NN installé dans /usr/local/apache2, configure avec le support des modules dynamiques, et le prefork standard MPM. Pour tester l'installation, utilisez votre procédure standard de démarrage d'Apache : /usr/local/apache2/bin/apachectl start et pour stopper le serveur, utilisez /usr/local/apache2/bin/apachectl stop. 9. cd ../php4-NN 10. Maintenant, configurez votre PHP. C'est l'endroit où vous configurez PHP avec diverses options, comme les extensions qui seront activées. Lancez ./configure --help pour une liste des options disponibles. Dans notre exemple, nous ferons une configuration assez simple avec uniquement le support de Apache 2 et MySQL. Votre chemin vers apxs peut être différent ; en fait, le binaire devrait toujours s'appeler apsx2 sur votre système. ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql 11. make 12. make install Si vous décidez de changer vos options de configuration après l'installation, vous aurez juste besoin de répéter les trois dernières étapes. Vous aurez aussi besoin de redémarrer Apache pour que le nouveau module soit chargé. Une recompilation de Apache n'est pas nécessaire. Notez que, à moins de l'avoir explicitement désactivé, 'make install' installera aussi PEAR, et des outils PHP tels que phpize, installera le CLI PHP, etc. 13. Configurez votre fichier php.ini : cp php.ini-dist /usr/local/lib/php.ini Vous pouvez éditer votre fichier .ini pour régler certaines options PHP. Si vous souhaitez votre php.ini à un autre endroit, utilisez --with-config-file-path=/votre/chemin lors de l'étape 10. Si vous utilisez plutôt php.ini-recommended, assurez-vous de lire l'ensemble des changements qui y sont contenus, car ils modifient le fonctionnement de PHP. 14. Éditez votre httpd.conf afin de charger le module PHP. Le chemin dans la partie droite de la directive LoadModule doit pointer vers l'endroit où se trouve le module PHP sur votre système. Le make install lancé plus haut l'y aura certainement déjà déposé pour vous, mais assurez-vous en. Pour PHP 4 : LoadModule php4_module modules/libphp4.so Pour PHP 5: LoadModule php5_module modules/libphp5.so 15. Dites à Apache de faire parser certaines extensions par PHP. Par exemple, faites parser l'extension .php par PHP. Vous pouvez ajouter n'importe quelle(s) extension(s) à parser juste en l'(les)ajoutant à la suite, séparée(s) par un espace. Nous ajouterons .phtml dans notre exemple. AddType application/x-httpd-php .php .phtml Il est assez fréquent de configurer l'extension .phps comme code source PHP colorisé, ce qui peut être fait ainsi : AddType application/x-httpd-php-source .phps 16. Utilisez votre méthode habituelle pour démarrer le serveur Apache, e.g.: /usr/local/apache2/bin/apachectl start
Suivez les étapes ci-dessus, et vous disposerez d'un serveur Apache 2.0 avec le support de PHP module comme module SAPI. Bien sur, il y a bien d'autres options de configuration disponibles pour les deux logiciels, Apache et PHP. Pour plus de détails, utilisez la commande ./configure --help dans le dossier de sources approprié. Si vous souhaitez compiler une version multithreadé de Apache 2.0 vous devrez remplacer le module standard MPM prefork avec worker ou perchild. Pour ce faire, ajoutez à la ligne de configuration de l'étape 6, l'option --with-mpm=worker ou --with-mpm=perchild. Soyez conscient des conséquences, et comprenez bien ce que vous faites. Pour plus de détails sur ce sujet, lisez la documentation Apache sur » le module MPM.
Note: Si vous voulez utiliser la négociation sur le contenu, lisez la section FAQ Apache MultiViews.
Note: Pour compiler une version multithreadée d'Apache, votre système doit supporter les threads. Cela implique aussi de compiler PHP avec le module expérimental de Zend Thread Safety (ZTS). Par conséquent, toutes les extensions ne seront pas disponibles. La configuration recommandée actuellement est celle avec le module standard MPM prefork.