Exécuter des scripts Python à partir de PHP : une solution complète
Au sein de PHP, les tentatives d'exécution d'un script Python à l'aide de commandes comme exec ont laissé de nombreux utilisateurs confrontés à un manque de sortie. La racine de ce problème réside dans les autorisations du serveur Web.
Étapes de dépannage :
Pour résoudre ce problème, essayez les étapes suivantes :
- Assurez-vous que PHP dispose des privilèges nécessaires pour accéder et exécuter le script Python.
- Vérifiez que votre serveur Web est s'exécutant en tant qu'utilisateur disposant des autorisations suffisantes.
- Utilisez la fonction shell_exec pour exécuter la commande.
Exemple de code :
$command = escapeshellcmd('/usr/custom/test.py');
$output = shell_exec($command);
echo $output;
Configuration du script Python :
Dans le script Python (test.py), incluez ce qui suit dans la première ligne :
#!/usr/bin/env python
Cette ligne garantit que le bon interpréteur Python est utilisé, indépendamment de plusieurs installations Python.
Autorisations de fichiers :
- Rendez le script Python exécutable à l'aide de chmod x myscript.py.
- Définissez les autorisations de fichiers appropriées pour autoriser exécution pour l'utilisateur du serveur Web.
Remarques :
- Le chemin d'exécution spécifié pour l'interpréteur Python (par exemple, /usr/bin/python2 .7) peut varier en fonction de la configuration de votre système.
- Si le problème persiste, consultez les journaux d'erreurs Apache ou PHP pour tout problème supplémentaire. indices.
- Envisagez d'utiliser des solutions alternatives telles que exec, system ou pcntl_exec si les étapes de dépannage ne résolvent pas le problème.
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: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