Créer un serveur PHP 7.0
Le langage HTML est un langage statique. Certes, il permet de créer un semblant d'interactivité grâce à la navigation hypertexte, mais cela reste statique dans le sens où le contenu des page Web est pré-déterministe. De ce fait, il n'est pas adapté pour créer des applications informatiques interactives. Le serveur n'est capable que de délivrer des pages web, des images, d’exécuter du code javascript dans le navigateur ou css pour affiner la présentation.
Le langage PHP au contraire permet de créer de telles applications, le langage HTML n'étant utilisé que pour l'interface homme-machine.
Il faut comprendre le PHP comme un langage de programmation qui permet de construire dynamiquement des page Web à partir d'un contenu de données qui se trouve sur le serveur, soit dans des fichiers, soit dans une base de données. Le programme PHP est exécuté sur le serveur et le résultat du programme doit être une page Web structurée en HTML.
A noter que, bien qu'une application PHP soit une application client/serveur, il est impossible d'appeler un sous-programme PHP à partir d'un programme javascript de la page Web. Le déclenchement d'un programme PHP passe par l'url du fichier PHP qui, s’exécutant sur le serveur, renverra sa réponse sous la forme d'une page Web structurée en HTML générée par le programme PHP qui sera chargée dans le navigateur à la place de la précédente. La persistance des données entre plusieurs pages doit passer par un stockage de ces données sur le serveur soit dans des fichiers, soit dans une base de données.
Le langage PHP au contraire permet de créer de telles applications, le langage HTML n'étant utilisé que pour l'interface homme-machine.
Il faut comprendre le PHP comme un langage de programmation qui permet de construire dynamiquement des page Web à partir d'un contenu de données qui se trouve sur le serveur, soit dans des fichiers, soit dans une base de données. Le programme PHP est exécuté sur le serveur et le résultat du programme doit être une page Web structurée en HTML.
A noter que, bien qu'une application PHP soit une application client/serveur, il est impossible d'appeler un sous-programme PHP à partir d'un programme javascript de la page Web. Le déclenchement d'un programme PHP passe par l'url du fichier PHP qui, s’exécutant sur le serveur, renverra sa réponse sous la forme d'une page Web structurée en HTML générée par le programme PHP qui sera chargée dans le navigateur à la place de la précédente. La persistance des données entre plusieurs pages doit passer par un stockage de ces données sur le serveur soit dans des fichiers, soit dans une base de données.
Installer PHP 7.0
PHP s'installe par dessus Apache. Il faut donc que le serveur Web Apache soit installé et actif pour que PHP fonctionne. Pour le contrôler, on peut lancer la commande suivante :
pi@slave02:~ $ sudo service --status-all
[ - ] alsa-utils
[ + ] apache-htcacheclean
[ + ] apache2
[ + ] avahi-daemon
[ - ] bluetooth
[ - ] console-setup.sh
[ + ] cron
[ + ] dbus
[ + ] dhcpcd
[ + ] dphys-swapfile
[ + ] fake-hwclock
[ - ] hwclock.sh
[ - ] keyboard-setup.sh
[ + ] kmod
[ + ] netfilter-persistent
[ + ] networking
[ - ] nfs-common
[ - ] paxctld
[ - ] plymouth
[ - ] plymouth-log
[ + ] procps
[ + ] proftpd
[ + ] raspi-config
[ - ] rpcbind
[ - ] rsync
[ + ] rsyslog
[ - ] screen-cleanup
[ + ] ssh
[ - ] sudo
[ + ] triggerhappy
[ + ] udev
pi@slave02:~ $
[ - ] alsa-utils
[ + ] apache-htcacheclean
[ + ] apache2
[ + ] avahi-daemon
[ - ] bluetooth
[ - ] console-setup.sh
[ + ] cron
[ + ] dbus
[ + ] dhcpcd
[ + ] dphys-swapfile
[ + ] fake-hwclock
[ - ] hwclock.sh
[ - ] keyboard-setup.sh
[ + ] kmod
[ + ] netfilter-persistent
[ + ] networking
[ - ] nfs-common
[ - ] paxctld
[ - ] plymouth
[ - ] plymouth-log
[ + ] procps
[ + ] proftpd
[ + ] raspi-config
[ - ] rpcbind
[ - ] rsync
[ + ] rsyslog
[ - ] screen-cleanup
[ + ] ssh
[ - ] sudo
[ + ] triggerhappy
[ + ] udev
pi@slave02:~ $
Si Apache est installé,il apparaît dans la liste ci-dessus. S'il est actif, il est précédé par un + entre crochets.
L'installation de PHP sous Rasbian s'effectue comme d'habitude avec la commande apt-get.
pi@slave02:~ $ sudo apt-get install php php-mbstring
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
The following additional packages will be installed:
libapache2-mod-php7.0 php-common php7.0 php7.0-cli php7.0-common php7.0-json
php7.0-opcache php7.0-readline
Paquets suggérés :
php-pear
Les NOUVEAUX paquets suivants seront installés :
libapache2-mod-php7.0 php php-common php7.0 php7.0-cli php7.0-common
php7.0-json php7.0-opcache php7.0-readline
. . .
apache2_invoke: Enable module php7.0
Paramétrage de php7.0 (7.0.27-0+deb9u1) ...
Paramétrage de php (1:7.0+49) ...
pi@slave02:~ $
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
The following additional packages will be installed:
libapache2-mod-php7.0 php-common php7.0 php7.0-cli php7.0-common php7.0-json
php7.0-opcache php7.0-readline
Paquets suggérés :
php-pear
Les NOUVEAUX paquets suivants seront installés :
libapache2-mod-php7.0 php php-common php7.0 php7.0-cli php7.0-common
php7.0-json php7.0-opcache php7.0-readline
. . .
apache2_invoke: Enable module php7.0
Paramétrage de php7.0 (7.0.27-0+deb9u1) ...
Paramétrage de php (1:7.0+49) ...
pi@slave02:~ $
Tester l'installation
Pour tester si PHP fonctionne, il faut créer un programme PHP qui puisse être exécuté sur le serveur.
De même que les page Web ont l'extension .html, ce qui permettra à Apache de savoir qu'il s'agit d'un programme PHP, c'est l'extension .php qui est associée au fichier.
Avec nano ou Geany, créer le fichier phpinfo.php avec le contenu ci dessous que l'on enregistre dans le répertoire racine d'Apache /var/www/html.
De même que les page Web ont l'extension .html, ce qui permettra à Apache de savoir qu'il s'agit d'un programme PHP, c'est l'extension .php qui est associée au fichier.
Avec nano ou Geany, créer le fichier phpinfo.php avec le contenu ci dessous que l'on enregistre dans le répertoire racine d'Apache /var/www/html.
<?php
phpinfo();
?>
phpinfo();
?>
Un programme PHP commence par <?php et se termine par ?>. La fonction phpinfo invoquée dans ce script affiche tous les paramètres de configuration de PHP. Si l'installation est correcte, quelque chose qui ressemble à la capture d'écran ci-dessous doit s'afficher.
Pour expliquer l'url utilisée dans la figure, les serveur slave02 a été exposé dans le DNS sous le nom slave02.cluster01.apl. Le fichier phpinfo.php a été enregistré à la racine du serveur Apache installé sur slave02, donc dans le répertoire /var/www/html.
Si cela ne fonctionne pas, il faut sans doute relancer le serveur Apache après l'installation de PHP :
Si cela ne fonctionne pas, il faut sans doute relancer le serveur Apache après l'installation de PHP :
pi@slave02:~ $ sudo service apache2 restart
pi@slave02:~ $
pi@slave02:~ $
Commentaires
Enregistrer un commentaire