Sommaire
Améliorer PHP 4.0
Préface
Présentation
Capacités d'extensions
Disposition du code source
Le système de compilation automatique de PHP
Créer une extension
Utiliser une extension
Résolution de problèmes
Présentation des sources
Gestion des arguments
Créer des variables
Afficher des informations
Valeurs retournées
|
7.7 Utiliser une extension
Suivant le système de compilation que vous avez sélectionné, vous pouvez
vous retrouver avec un binaire PHP à linker dans votre serveur web (exécuté
sous forme de CGI, ou bien avec un fichier .so (shared object, objet partagé),
Si vous avez compilé notre extension d'exemple first_module.c
sous forme de shared object, votre fichier résultat devrait être
first_module.so
. Pour l'utiliser, vous devez commencer
par le copier dans un dossier où il sera accessible à PHP. Pour faire une
simple procédure de test, vous pouvez le copier dans votre dossier
htdocs
et l'essayer avec le source dans
<>. Si vous avez compilé un binaire PHP,
omettez l'appel à la fonction dl, car la fonctionnalité
sera immédiatement disponible dans votre script.
Attention |
Pour des raisons de sécurité, vous devez pas mettre vos
modules dynamiques dans un dossier accessible publiquement. Même si
cela peut être fait, et que cela simplifie les
tests, vous devriez les placer dans un dossier séparé de votre
environnement de production.
|
Un fichier de test pour first_module.so. |
<?php // utilisez la ligne ci-dessous si nécessaire // dl("first_module.so"); $param = 2; $return = first_module($param); print("Nous avons envoyé '$param' et obtenu '$return'"); ?>
|
En appelant ce script PHP depuis votre navigateur, vous devriez obtenir
le résultat affiché dans <>.
 |
Affichage du script first_module.php. |
Si nécessaire, le module dynamiquement chargeable est chargé grâce à la
fonction dl. Cette fonction recherche l'objet
partagé demandé, le charge, et rend la fonction accessible à PHP, dans
le script. Le module exporte la fonction
first_module, qui accepte un unique paramètre,
le convertir en entier, et retourne le résultat de cette conversion.
Si vous avez réussi à arrive jusqu'ici, félicitations! Vous venez de
réaliser votre première extension PHP.
|