Maison >développement back-end >tutoriel php >Pourquoi mon code PHP n'exécute-t-il pas mon script Python et n'affiche-t-il pas le résultat ?

Pourquoi mon code PHP n'exécute-t-il pas mon script Python et n'affiche-t-il pas le résultat ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-18 19:33:10358parcourir

Why Isn't My PHP Code Executing My Python Script and Showing Output?

Exécuter des scripts Python à partir de PHP

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.

Vérification de la structure des commandes

Assurez-vous que les commandes sont saisies correctement. Dans votre cas, vérifiez les éléments suivants :

  • Chemin de l'interpréteur Python (/usr/bin/python2.7)
  • Chemins absolus ou relatifs (les chemins absolus et relatifs devraient fonctionner)
  • Utilisation de différentes commandes d'exécution (exec, shell_exec, système)

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.

Autorisations utilisateur du serveur Web

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.

Utilisation de l'exécution du shell

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;

Configuration du script Python

Le script Python doit être correctement configuré avec la ligne shebang appropriée dans le premier line:

#!/usr/bin/env python

Autorisations de fichiers

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.

Conseils de dépannage

  • Consultez les journaux d'erreurs pour tout indice.
  • Activez le rapport d'erreurs PHP (display_errors = On).
  • Vérifiez que l'utilisateur du serveur Web dispose des autorisations nécessaires pour accéder aux fichiers requis et répertoires.
  • Assurez-vous que les commandes du script Python disposent des privilèges nécessaires.

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