Nouvelles technologies de l'information et de la communication : High Technologie, Informatique, Internet, Software, Hardware, Cours Informatique, Recette Cuisine, Channel, Actualites, Astuce, Jeux, Galerie, Formation

Liens Commerciaux

Autres liens

Cours Informatique: PHP / MySQL

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.

 

Exemple #1 Instructions d'installation de PHP (en module Apache)

1.  gunzip apache_xxx.tar.gz
2. tar -xvf apache_xxx.tar
3. gunzip php-xxx.tar.gz
4. tar -xvf php-xxx.tar
5. cd apache_xxx
6. ./configure --prefix=/www --enable-module=so
7. make
8. make install
9. cd ../php-xxx

10. Maintenant, configurez votre PHP. C'est le moment 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 un ./configure assez simple avec
uniquement le support Apache et MySQL. Votre chemin vers apxs peut
être différent de notre exemple.

./configure --with-mysql --with-apxs=/www/bin/apxs

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-development /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-production, 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.

LoadModule php5_module libexec/libphp5.so

15. Et dans la section AddModule de httpd.conf, quelque part en
dessous de ClearModuleList, ajoutez ceci :

AddModule mod_php5.c

16. Dites à Apache de faire analyser certaines extensions par PHP.
Par exemple, faites analyser l'extension .php par PHP.
Vous pouvez ajouter n'importe quelle(s) extension(s) à analyser
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

17. Utilisez votre méthode habituelle pour démarrer le serveur Apache.
(vous devez l'éteindre et le redémarrer, pas seulement lui envoyer
un signal HUP ou USR1.)

 

Alternativement, pour installer PHP en tant qu'objet statique :

 

Exemple #2 Instructions d'installation (installation en tant que module statique d'Apache) de PHP

1.  gunzip -c apache_1.3.x.tar.gz | tar xf -
2. cd apache_1.3.x
3. ./configure
4. cd ..

5. gunzip -c php-5.x.y.tar.gz | tar xf -
6. cd php-5.x.y
7. ./configure --with-mysql --with-apache=../apache_1.3.x
8. make
9. make install

10. cd ../apache_1.3.x

11. ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a
(La ligne ci-dessus est correcte ! Oui, nous savons que libphp5.a
n'existe pas à ce moment. On ne le suppose pas non plus.
Il sera créé.)

12. make
(vous devriez avoir maintenant un binaire httpd que vous pouvez
copier dans votre dossier de binaire Apache ; si c'est votre
première installation, vous devez exécuter la commande
"make install")

13. cd ../php-5.x.y
14. cp php.ini-development /usr/local/lib/php.ini

15. Vous pouvez éditer le fichier /usr/local/lib/php.ini pour
définir les options de PHP.
Éditez votre fichier httpd.conf ou srm.conf et ajoutez :
AddType application/x-httpd-php .php

 

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.

 

Exemple #3 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 libphp5.so qui sera chargée par Apache avec une ligne LoadModule dans le fichier httpd.conf. Le support PostgreSQL est aussi inclus dans cette bibliothèque. ---

 

Cette commande va créer une bibliothèque partagée libphp5.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 ou en la chargeant explicitement dans le script avec la fonction dl().

./configure --with-apache=/path/to/apache_source --with-pgsql

 

Cette commande va créer une autre bibliothèque partagée libmodphp5.a, un fichier mod_php5.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/php5/libphp5.a et le système de compilation d'Apache va créer un fichier libphp5.a et le lier 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.

./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 d'Apache est fourni avec une section qui ressemble à ceci :

User nobody
Group "#-1"

 

À 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.





Lire plus:

Plus...


© 2008-2018 Copyright InFooNeT.CoM, Tout droits réservés.