LAMP – Partie 3/4 – PHP

Après MySQL, après Apache, il nous manque encore PHP. Donc allons-y, installons celui-ci.

Qu’est-ce que PHP ?

PHP Hypertext Preprocessor est un langage de script, aujourd’hui orienté objet, qui se situe du côté serveur. Il possède aussi un côté client qui permet d’écrire des scripts et de les exécuter en mode console.

Exemples de codes PHP
<?php  echo 'Hello World!';  ?>

Ce petit script affichera la chaine « Hello World! » sur votre console ou dans votre navigateur.

<?php

  $var = 'foo' . 'bar';
  echo '<b>', $var, '</b>';

?>

Cet autre script nous affichera « <b>foobar</b> » en console, cependant, s’il est exécuté par l’intermédiaire d’un serveur web (ex: Apache), il nous fournira alors la chaine « foobar » en caractères gras, le « . » servant d’opérateur de concaténation;

Je ne vais pas m’éterniser sur le sujet, d’autres tutoriaux seront présents pour apprendre la programmation.

Installation de PHP au sein d’Apache

Et on recommence encore une fois, on se connecte en root sur notre tty1, puis on navigue jusque php.net, et en changeant de répertoire courant au passage :

root@tutolamp:~# cd /other/downloads
root@tutolamp:/other/downloads# lynx http://php.net

On descend jusque « Downloads » puis on y va.

On cherche « Current Stable » et on va sélectionner « php-votreversion.tar.gz ». Au moment du tutoriel, c’est PHP 7.1.2 qui est mis à l’honneur.

On descend pour choisir un site miroir d’où télécharger PHP, j’ai choisi fr2.php.net, se situant en France, et on active le lien de téléchargement en appuyant sur [D]. Enregistrez le fichier sur le disque puis quittez avec [Q].

On décompresse PHP et on va dans son répertoire :

root@tutolamp:/other/downloads# tar zxvf php-votreversion.tar.gz
root@tutolamp:/other/downloads# cd php-votreversion

PHP a lui aussi son petit lot de dépendances, on va les installer de suite :

root@tutolamp:/other/downloads/php-votreversion# apt-get install libxml2-dev

Place à la configuration de PHP, à sa compilation, puis son installation :

root@tutolamp:/other/downloads/php-votreversion# ./configure --prefix=/other/server/php71 --with-apxs2=/other/server/httpd24/bin/apxs --enable-mbstring --with-mysql-sock=/tmp/mysql.sock --enable-embedded-mysqli --with-mysqli
root@tutolamp:/other/downloads/php-votreversion# make
root@tutolamp:/other/downloads/php-votreversion#
make install

On va configurer maintenant Apache pour qu’il puisse nous servir des pages PHP, mais pour cela on va avoir besoin d’un éditeur de texte. Je vais personnellement utiliser « joe », libre à vous de choisir autre chose (« vi(m) », …) :

root@tutolamp:/other/downoads/php-votreversion#: apt-get install joe
root@tutolamp:/other/downoads/php-votreversion#: cd /other/server/httpd24/conf
root@tutolamp:/other/server/httpd24/conf# joe httpd.conf

PHP s’est permis de nous installer son module dans le fichier de configuration, c’est toujours ça de moins à faire!

Cherchez d’abord la ligne ServerName pour lui ajouter un nom comme suit:

ServerName localhost:80

Cherchons maintenant cette ligne :

DirectoryIndex index.html

Rajoutons « index.php » comme suit :

DirectoryIndex index.php index.html

Maintenant cherchons les lignes de type « AddType application/ » et ajoutons-y cette ligne :

AddType application/x-httpd-php .php

Enregistrez le fichier et quittez l’éditeur en effectuant la combinaison [Ctrl]+[K] puis [X].

Redémarrez maintenant Apache :

root@tutolamp:/other/server/httpd24/conf# /etc/init.d/apachectl restart

Créons rapidement un script de test PHP:

root@tutolamp:/other/server/httpd24/conf# cd ../htdocs
root@tutolamp:/other/server/httpd24/htdocs# joe index.php

Avec pour contenu :

<?php

  phpinfo();

?>

Enregistrez et quittez comme tout à l’heure, et regardons si cela a bien fonctionné correctement :

root@tutolamp:/other/server/httpd24/htdocs# lynx http://localhost

Parfait, tout fonctionne! Il ne nous reste plus que phpMyAdmin dans le tutoriel suivant, et notre LAMP sera complet.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *