Lorsque vous essayez d'exécuter un script Python à l'aide de exec() en PHP, rencontrer un manque de sortie peut être frustrant. Ce problème peut survenir pour diverses raisons, mais le guide complet suivant vous aidera à le résoudre.
Assurez-vous que les commandes sont saisies correctement. Dans votre cas, vérifiez les éléments suivants :
De plus, essayez une simple commande echo pour tester la fonctionnalité d'exécution de la commande :
if (exec('echo TEST') == 'TEST') { echo 'exec works!'; }
Si la commande echo fonctionne, elle suggère que la fonctionnalité d'exécution de base fonctionne correctement , réduisant ainsi le problème.
Le compte utilisateur exécutant votre script PHP peut ne pas disposer des autorisations suffisantes. Apache s'exécute généralement sous l'utilisateur www-data, alors connectez-vous en tant qu'utilisateur ou un autre utilisateur disposant d'autorisations similaires et essayez d'exécuter la commande manuellement. S'il s'exécute correctement, le problème réside dans les autorisations.
Au lieu de exec(), envisagez d'utiliser shell_exec() qui offre plus de flexibilité :
$command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output;
Le script Python doit être correctement configuré avec la ligne shebang appropriée dans le premier line:
#!/usr/bin/env python
Le script Python (test.py) et toutes les commandes qu'il contient doivent avoir les autorisations appropriées. Par exemple, chmod x test.py définit l'autorisation exécutable.
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!