Page suivante Page précédente Table des matières

17. PHP Pré-processeur Hypertexte - Langage de script côté serveur, avec HTML intégré, pour PostgreSQL

L'outil d'interfaçage WWW se trouve à :

PHP possède également un compilateur appelé Zend qui améliore grandement les performances. En premier lieu, pendant le développement, les tests et la mise au point, vous écrivez votre application en utilisant le langage de script PHP. Une fois que le projet est prêt à être déployé, vous utilisez le compilateur Zend pour compiler le script PHP et créer un exécutable qui tournera très rapidement.

PHP 3 est l'ancien nom des Pages d'accueil professionelles et le nouveau nom est Pré-Processeur Hypertexte PHP

Pour les questions envoyer un courrier électronique à :

PHP 3 est un langage de script côté serveur, avec langage HTML intégré. Il vous permet d'écrire des scripts simples directement dans vos fichiers .HTML à la manière JavaScript, sauf que, à la différence de JavaScript, PHP 3 n'est pas dépendant du butineur utilisé. JavaScript est un langage, côté client, avec HTML intégré alors que PHP 3 est un langage côté serveur. PHP 3 est similaire, dans son concept, au produit LiveWire Pro pour Netscape. Si vous en avez les moyens, vous utilisez le serveur du commerce Netscape et l'un des systèmes d'exploitation supportés, et vous jetterez probablement un oeil sur LiveWire Pro. Si vous préférez un logiciel libre, évoluant rapidement, qui est disponible avec la totalité de son code source, vous apprécierez probablement PHP 3.

17.1 Fonctionnalités principales

Support de CGI Standard, FastCGI et du module Apache. Comme programme CGI standard, PHP 3 peut être installé sur n'importe quelle machine Unix sur laquelle tourne n'importe quel serveur web Unix. Avec le support de la nouvelle norme FastCGI, PHP 3 peut trouver avantage des gains de vitesse apportés par ce mécanisme. Comme module Apache, PHP 3 devient une alternative extrêmement puissante et brillante à la programmation CGI.

17.2 Crédits

* De grandes parties de ce code ont été développées à et pour l'université de Toronto. De grands Mercis à Lee Oattes du Département de Développement des Réseaux à l'université pour ses critiques constructives permanentes.

* Le code de prise en charge de Postgres95 a été écrit par Adam Sussman

* d'autres, innombrables, ont participé aux tests et à la mise au point du paquetage.

17.3 PHP 3 - Bref Historique

PHP a commencé sa vie comme simple petite enveloppe cgi écrite en Perl. Son utilisation en dehors d'un usage privé n'avait jamais été envisagée. Le nom de ce premier paquetage était "Personal Home Page Tools" (Outils pour Page d'Acceuil Personnelle"), qui devint plus tard "Kit de Construction d'une Page d'Acceuil".

Un outil pour inclure facilement des requêtes SQL dans des pages web a été écrit. C'était fondamentalement un autre petit programme enveloppe CGI qui analysait les requêtes SQL et facilitait la création de formulaires et de tables basés sur ces requêtes. Cet outil fut appelé FI "Interpréteur de Formulaire" (Form Interpreter).

La version 2.0 PHP/FI est une réécriture complète de ces deux paquetages combinés pour former un simple programme. il a maintenant évolué au point de devenir un simple langage de programmation intégré dans les fichiers HTML. L'acronyme original, PHP, lui est resté. Il n'est plus réellement approprié. PHP/FI est aujourd'hui plus utilisé pour mettre en place des sites web entiers que pour de petites pages d'accueil personnelles. Quel que soit son nom, il élimine le besoin de recourir à de nombreux petits programmes cgi Perl en permettant d'insérer de simples scripts directement dans vos fichiers HTML. Ceci améliore les performances globales de vos pages web puisque la surcharge due au lancement de processus Perl successifs a été éliminée. La gestion de larges sites web a également été facilitée en plaçant tous les composants d'une page web dans un fichier html unique. En incluant le support de différentes bases de données, il devient trivial de développer des pages web mettant en oeuvre des bases de données. Nombreux sont ceux qui trouvent que cette intégration est plus facile à gérer que d'essayer de créer des fichiers HTML et CGI séparés.

Tout au long de cette documentation, toute référence à PHP, FI ou PHP/FI traite de la même chose. La différence entre PHP et FI est seulement conceptuelle. Les deux sont construits à partir de la même distribution du code source. Maintenant, PHP/FI a été renommé PHP 3.

17.4 Bon, que puis-je faire avec PHP/FI?

La première chose que vous allez noter, si vous faites tourner une page par l'intermédiaire de PHP/FI, c'est qu'il ajoute un pied de page vous informant du nombre d'accès à votre page (si vous incluez le support des connexions d'accès dans votre binaire). C'est seulement un tout petit exemple de ce que PHP/FI peut faire pour vous. Il joue également le rôle très important d'interpréteur de formulaire cgi, d'où la partie FI de son nom. Par exemple si vous créez un formulaire dans l'une de vos pages web, vous avez besoin de quelque chose pour traiter l'information contenue dans ce formulaire. Même si vous désirez simplement passer l'information à une autre page web, vous aurez besoin d'un programme cgi pour le faire. PHP/FI facilite grandement le processus de prise en charge des données du formulaire pour en faire quelque chose.

17.5 Un simple exemple

Supposons que vous ayez le formulaire :

<FORM ACTION="/cgi-bin/php.cgi/~userid/display.html" METHOD=POST> 
<INPUT TYPE="text" name="name"> 
<INPUT TYPE="text" name="age"> 
<INPUT TYPE="submit"> 
<FORM> 

Votre fichier display.html doit contenir quelque chose du genre :

< ?echo "Hi $ name, vous avez $ age ans!<p>" >
C'est aussi simple que cela! PHP/FI crée automatiquement une variable pour chaque champ de saisie de votre formulaire. Vous pouvez alors utiliser ces variables dans le fichier ACTION URL.

L'étape suivante, après avoir vu comment utiliser ces variables, est de commencer à jouer avec quelques balises de gestion du déroulement logique de vos pages. Par exemple, si vous voulez afficher différents messages dépendants de des informations entrées par l'utilisateur, vous pouvez utiliser la logique si/alors (if/else). Dans notre exemple ci-dessus, on peut afficher différentes choses dépendant de l'âge entré par l'utilisateur en modifiant notre fichier display.html en :

<?
    if($age>50);
        echo "Hi $name, vous êtes un fossile!<p>";
    elseif($age>30);
        echo "Hi $name, vous êtes très vieux!<p>";
    else;
        echo "Hi $name.";
    endif;
>

PHP/FI fournit un langage de script très puissant qui peut faire beaucoup plus que ce qui est exposé dans l'exemple ci-dessus. Regardez la section sur le langage de Script PHP/FI pour des informations complémentaires.

Vous pouvez également utiliser PHP/FI pour configurer qui a le droit d'accéder à vos pages. Ceci est effectué en utilisant l'écran de configuration inclus. Par son intermédiaire , vous pourrez, par exemple, spécifier que seulement les gens appartenant à un certain domaine seront autorisés à voir vos pages, vous pouvez également créer une règle protégeant certaines pages par un mot de passe. Voir la section Contrôle d'Accès pour plus de détails.

PHP/FI est également capable de recevoir des fichiers télé-chargés par n'importe quel butineur conforme à la norme RFC-1867. Cette fonctionnalité permet aux gens de télé-charger également des fichiers de texte ou binaire. Avec le contrôle de PHP/FI et les fonctions logiques, vous disposez d'un contrôle total sur qui est autorisé à télé-charger un fichier et sur ce que l'on peut faire de ce fichier une fois télé-chargé. Voir la section Télé-chargement de fichier pour de plus amples détails.

PHP/FI supporte le paquetage Postgres95. Il supporte les requêtes SQL incluses dans vos fichiers .HTML. Consultez la section Support Postgres95 pour plus d'informations.

PHP/FI supporte également le paquetage du SGBD mysql. Il supporte les requêtes SQL incluses dans vos fichiers .HTML. Consultez la section Support mysql pour plus d'informations.

17.6 Redirection CGI

Notes Apache 1.0.x

Une bonne manière de faire tourner PHP/FI est d'utiliser un module de redirection cgi avec le serveur Apache. Veuillez noter que vous n'avez pas à vous soucier des modules de redirection si vous utilisez la version module Apache de PHP/FI. Deux de ces modules de redirection sont disponibles. L'un est développé par Dave Andersen

et est disponible à et l'autre est inclus avec Apache et est appelé mod_actions.c. Ces deux modules sont extrêmement similaires. Ils diffèrent très légèrement dans leur utilisation. Les deux ont été testés et fonctionnent avec PHP/FI.

Regardez dans la documentation Apache la manière d'ajouter un module. En général vous ajoutez le nom de module dans un fichier appelé Configuration. La ligne à ajouter si vous voulez utiliser le module mod_actions est :

     Module action_module mod_actions.o
Si vous envisagez d'utiliser le module mod_cgi_redirect.c ajoutez cette ligne :
     Module cgi_redirect_module mod_cgi_redirect.o
Puis compilez votre httpd et installez-le. Pour configurer la redirection cgi il vous faudra soit créer un nouveau type mime dans votre fichier mime.types soit utiliser la commande AddType dans votre fichier srm.conf pour ajouter le type mime. Le type mime à ajouter doit être quelque chose comme :
     application/x-httpd-php phtml
Si vous vous apprêtez à utiliser le module mod_actions.c il vous faudra ajouter la ligne suivante dans votre fichier srm.conf:
     Action application/x-httpd-php /cgi-bin/php.cgi
Si vous vous apprêtez à utiliser mod_cgi_redirect.c vous devrez ajouter cette ligne à srm.conf :
     CgiRedirect application/x-httpd-php /cgi-bin/php.cgi
N'essayez pas d'utiliser en même temps mod_actions.c et mod_cgi_redirect.c .

Une fois que vous avez l'un de ces modules de redirection cgi installé et configuré correctement, vous pouvez spécifier que vous voulez qu'un fichier soit filtré par php/fi en mettant simplement l'extension .phtml au fichier. De plus, si vous ajoutez index.phtml à votre ligne de configuration DirectoryIndex dans votre fichier srm.conf alors la page de plus haut niveau d'un répertoire sera automatiquement filtrée par php si vous appelez votre fichier index index.phtml.

HTTPD Netscape

Vous pouvez rediriger automatiquement les requêtes pour des fichiers ayant une extension donnée de façon à ce qu'ils soient pris en compte par PHP/FI en utilisant le module de Redirection du Serveur CGI Netscape. Ce module est disponible dans le Fichier Archives de la Page d'Accueil de PHP/FI. Le fichier LISEZ_MOI (README) dans le paquetage explique clairement comment le configurer pour l'utiliser avec PHP/FI.

HTTPD NCSA

Actuellement NCSA ne supporte pas les modules, donc, pour effectuer une redirection cgi avec ce serveur, il vous faudra modifier le code source de votre serveur. Une rustine pour faire cela avec NCSA 1.5 est disponible dans le fichier archives de PHP/FI.

17.7 Lancer PHP/FI à partir de la ligne de commande

Si vous fabriquez la version CGI de PHP/FI, vous pouvez l'utiliser simplement à partir de la ligne de commande, en tapant: php.cgi nom_de_fichier où nom_de_fichier est le fichier que vous voulez filtrer. Vous pouvez également créer des scripts PHP/FI autonomes en faisant ressembler la première ligne de votre script à quelque chose comme :

    #!/usr/local/bin/php.cgi -q

L'option "-q" supprime l'impression des en-têtes HTTP. Vous pouvez vous passer de cette option si vous le désirez.


Page suivante Page précédente Table des matières