PHP est un langage de programmation utilisé pour développer des applications Web riches et interactives . Cependant, vous pouvez appeler des programmes externes ou des commandes du système à partir d'un programme PHP pour ajouter des fonctionnalités supplémentaires de d'améliorer l'efficacité . Ceci peut être réalisé par le PHP exec () ou system () commandes , qui varient légèrement en fonction et la syntaxe. Utilisez
exec () et system () commandes sont utilisées à l'intérieur d'un programme PHP pour exécuter des commandes système ou des programmes et des scripts externes. Ceci est important pour étendre les capacités du langage PHP et une interface avec d'autres applications exécutées sur le serveur. PHP fera une pause jusqu'à ce que le programme externe termine son exécution à moins que la sortie est redirigée vers un fichier ou un autre tampon de sortie.
Différences
La principale différence entre le exec () et le système () commandes est de savoir comment sortie du programme externe est manipulé. Le système ( ) commande écrit automatiquement les résultats de la commande exécutée dans la mémoire tampon de sortie en cours . La commande exec () retourne éventuellement la sortie de la commande exécutée comme une variable tableau supplémentaire .
Syntaxe
Les commandes du système () exec () et avoir légèrement différent syntaxe facultative , mais ils peuvent aussi être exécutées avec juste le chemin vers le programme externe. Ces deux commandes nécessitent une commande formaté comme une chaîne, et avoir une variable de retour en option formaté comme un pointeur vers un int pour indiquer l'état de retour de l' exécution de commande set à 0 lorsqu'il est exécuté sans erreur et toute autre valeur quand une erreur s'est produite . La commande exec () comprend en outre un paramètre de sortie formaté comme un pointeur vers une variable de tableau , qui comprennent chaque ligne de sortie de la commande exécutée sans fuite espace blanc comme le caractère de nouvelle ligne .
Sécurité
Lors de l'exécution des commandes ou des programmes externes , il est particulièrement important de considérer la sécurité de l'opération. Lorsque vous utilisez une entrée fournie par l'utilisateur , utilisez la escapeshellarg () ou les fonctions escapeshellcmd () pour supprimer les activités potentiellement dommageables . Les meilleures pratiques impliquent que l'exécution d'une liste blanche connue de commandes , plutôt que seulement en supprimant des commandes nuisibles connus .