Maison > développement back-end > Tutoriel Python > Pourquoi mon code PHP n'exécute-t-il pas les scripts Python et comment puis-je y remédier à l'aide de shell_exec ?

Pourquoi mon code PHP n'exécute-t-il pas les scripts Python et comment puis-je y remédier à l'aide de shell_exec ?

Mary-Kate Olsen
Libérer: 2024-12-08 09:43:14
original
909 Les gens l'ont consulté

Why Doesn't My PHP Code Execute Python Scripts and How Can I Fix It Using shell_exec?

Exécution de scripts Python à partir de PHP

Lorsque vous tentez d'exécuter des scripts Python à partir de PHP à l'aide de commandes telles que exec, PHP peut ne produire aucune sortie malgré un rapport d'erreurs et des paramètres d'affichage appropriés. Cela peut être résolu en utilisant la fonction shell_exec.

Fonction shell_exec

shell_exec exécute une commande via le shell et renvoie sa sortie complète sous forme de chaîne. Voici un exemple de son utilisation :

$command = escapeshellcmd('/usr/custom/test.py');
$output = shell_exec($command);
echo $output;
Copier après la connexion

Configuration du script Python

Assurez-vous que votre script Python a la configuration suivante :

  • La première ligne du script contient le #! suivi du chemin de l'interpréteur Python, par exemple #!/usr/bin/env python.
  • Le script dispose des privilèges appropriés pour que l'utilisateur Web (par exemple, www-data pour Apache) puisse l'exécuter.

Considérations spécifiques à Unix

Sur les plateformes Unix, le script Python devra peut-être être rendu exécutable à l'aide de chmod x monscript.py. De plus, les commandes du script Python doivent disposer des privilèges appropriés.

Autorisations de l'utilisateur Web

N'oubliez pas que PHP s'exécute en tant qu'utilisateur Web, généralement www-data ou apache. Par conséquent, assurez-vous que l'utilisateur Web dispose des autorisations d'accès aux fichiers et répertoires référencés dans la commande shell_exec.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal