Différence entre PHP et Apache

Janvier 2013

Apache et PHP fonctionnent généralement ensemble sur un serveur web, ils sont complémentaires.

Apache est un serveur HTTP, c'est un programme connecté à internet dont le rôle est d'attendre les requêtes des clients (les navigateurs web qui lui demandent des pages web via le protocole HTTP, d'ou le nom de serveur HTTP), et d'y répondre.

Ainsi, Apache permet d'accéder à des fichiers statiques sur un serveur : images (.jpg, .png), documents html, documents word, archive zip, vidéo (.mov, .mp4)...

Et c'est justement pour cette raison qu'Apache ne suffit pas pour créer un site web dynamique. Pour ça il faut un langage de programmation, qui puisse être soit compilé (pour donner des programmes), soit interprété (langage de script).

Et il se trouve que le langage le plus couramment utilisé avec Apache pour créer des sites web dynamiques, c'est PHP.

Qu'est-ce que PHP ?

Techniquement, PHP est un programme qui interprète des scripts, il fonctionne de la même manière que d'autres langages de script comme Python, Ruby ou PERL.

Mais au-delà de ça, PHP est un langage de programmation (le langage utilisé par l'interpréteur PHP), et surtout une grande bibliothèque de fonctions très utiles qui accélèrent et facilitent le développement.

Comment Apache et PHP communiquent -il ?

Le fonctionnement n'est pas très compliqué. Pour certaines requêtes HTTP particulières, celles qui appellent un fichier portant l'extension .php (ou .php4, .php5), Apache ne va pas faire son job habituel (envoyer le contenu du fichier PHP (code source) au client).

Si vous voulez en savoir plus c'est par ici : insérer une image dans une cellule excel.

Non, à la place il va demander au programme PHP d'exécuter le script, et c'est maintenant le script qui se voit délégué la réponse au client (header HTTP + réponse HTTP, comme par exemple une page web HTML).

PHP peut être intégré à Apache de 2 façons différentes :

  • En tant que module Apache
    Un module Apache est une extension, un plugin. Il existe ce qu'on appelle un Handler pour chaque couple de version apache / version php.
    En général c'est ce mode qui est utilisé sur les environnements de développement (comme EasyPHP, WAMP...), mais on peut aussi le rencontrer sur un serveur de production dédié (physique ou virtualisé).
    Le seul inconvénient de ce mode d'intégration est qu'on ne peut avoir d'une seule version de PHP chargée.
  • Via l'interface CGI
    L'interface CGI permet à Apache d'utiliser n'importe quel programme respectant ce "standard" pour déléguer la réponse à des requêtes HTTP.
    C'est presque comme-ci Apache lançait PHP en ligne de commande.

Donc pour conclure, la différence c'est que Apache est un serveur HTTP et PHP est un interpréteur double du langage de programmation qui va avec.

Découvrez ce tutoriel photoshop : mettre en valeur de la typo à lire tout de suite !

0 commentaire
facultatif
Facebook Twitter RSS Email
Forum Excel
Venez découvrir le nouveau forum excel question/réponse à la stackoverflow.com !
Forum Excel
hit parade n'en a rien a foutre du W3C Positionnement et Statistiques Gratuites Vincent Paré