4D v16.3Exécuter des scripts PHP dans 4D |
||
|
4D v16.3
Exécuter des scripts PHP dans 4D
Exécuter des scripts PHP dans 4D
4D permet d’exécuter directement des scripts PHP, donnant ainsi accès à toute la richesse des librairies utilitaires disponibles via PHP. Ces librairies fournissent en particulier des fonctions de :
Cette liste n’est pas exhaustive. Pour une liste complète des modules PHP disponibles par défaut avec 4D, reportez-vous à la section Prise en charge des modules PHP. A noter également qu’il est possible d’installer des modules personnalisés supplémentaires. Pour exécuter un script ou une fonction PHP, vous devez utiliser la commande PHP Execute. Par défaut, 4D inclut la version 5.4.11 de PHP. Les scripts exécutés doivent être compatibles avec cette version et les modules installés. Pour une description complète des commandes et de la syntaxe PHP, veuillez vous référer à l’abondante documentation PHP disponible sur Internet. A titre d’exemple, voici des adresses de sites de référence : 4D fournit un interpréteur PHP compilé en FastCGI, protocole de communication de type client-serveur entre une application et un interpréteur PHP. L’interpréteur PHP pilote un ensemble de process d’exécution système appelés "process enfants". Ces process sont dédiés au traitement des requêtes adressées par 4D. L’exécution des requêtes est synchrone. Pour des raisons d’optimisation, par défaut jusqu’à cinq process enfants peuvent être exécutés simultanément (ce nombre est modifiable via les Propriétés de la base ou la commande SET DATABASE PARAMETER). Sous Mac OS, ces process sont lancés à la première requête et sont conservés en permanence par l’interpréteur PHP. Sous Windows, 4D crée les process en fonction des besoins et les recycle si nécessaire. 4D prend automatiquement en charge la gestion des process de l’interpréteur PHP fourni par défaut (lancement et fermeture). Note : Si le programme 4D quitte inopinément alors que des process PHP enfants sont encore en activité, vous devrez les supprimer manuellement via la fenêtre de gestion des process du système. Le schéma suivant illustre l’architecture 4D/PHP de 4D : Cette architecture fonctionne avec un système de requêtes internes envoyées par 4D à une adresse TCP prédéfinie (adresse IP et numéro de port). Si nécessaire, par exemple si plusieurs interpréteurs PHP sont exécutés sur la même machine, cette adresse peut être modifiée via les Propriétés de la base ou la commande SET DATABASE PARAMETER. Attention : Si vous lancez deux applications 4D sur la même machine et exécutez sur chacune d’elles des instructions PHP (via la commande PHP Execute), vous devez impérativement modifier les ports d’écoute de l’interpréteur FastCGI PHP afin qu’ils soient différents pour chaque application. Sinon, l'exécution des instructions PHP pourra échouer de façon aléatoire, voire bloquer l'application 4D. Vous pouvez choisir d’utiliser un autre interpréteur PHP que celui fourni par 4D. Ce principe vous permet de conserver un même interpréteur PHP même en cas de mise à jour de 4D. En outre, il vous permet d'installer tous les modules personnalisés que vous souhaitez -- en effet, il n’est pas possible d’utiliser un fichier php.ini personnalisé avec l’interpréteur inclus de 4D. Pour utiliser des options de configurations de php autres que celles fournies par défaut, vous devez gérer un interpréteur externe. Un interpréteur PHP personnalisé doit respecter deux conditions :
Pour utiliser un interpréteur PHP personnalisé, il vous suffit de le configurer de manière à ce qu’il écoute à une adresse et un port TCP spécifiques et d’indiquer à 4D de ne pas activer l’interpréteur interne. Ces paramètres peuvent être définis soit via les Propriétés de la base, soit pour la session via la commande SET DATABASE PARAMETER. Bien entendu, dans ce cas vous devez gérer vous-même le démarrage et le fonctionnement de l’interpréteur. Le fichier d’initialisation php.ini personnalisé doit être placé dans le dossier Resources de la base. Le fichier php.ini permet notamment de déclarer l’emplacement des extensions PHP. Si ce fichier n’est pas présent lors du premier appel, 4D le crée avec les options de configuration adaptées. Le fichier php.ini de l’interpréteur externe doit contenir les entrées suivantes :
Pour plus d’informations sur la configuration des fichiers php.ini personnalisés, veuillez consulter les commentaires placés dans le fichier php.ini fourni par 4D.
Voir aussi
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |