Exécuter un programme python depuis PHP
Résolujordane45 Messages postés 38486 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 août 2025 -
Bonjour,
J'ai lancé wamp server et créé un dossier qui contient un fichier .php et un fichier hello.py. Le problème est que peut importe ce que j'essaie de faire, rien ne fonctionne. Il est important de préciser que je préfère éviter les requêtes car les deux programmes sont sensé être côté serveur. Voici ce que j'ai tenté:
<?php $python_script = "hello.py"; $output = shell_exec("python" . $python_script); echo "<h1>Output:{$output}</h1>"; ?>
Mon fichier python ressemble à cela:
import sys #pour recuperer argv plus tard print("Hello")
J'ai tenté avec exec() ou encore escapeshellcmd() que j'insère par la suite dans shell_exec() mais sans succès. Avec un var_dump() je reçois chemin-fichier-php php:numero-de-ligne:string '' (length=0)".
Est-ce que quelqu'un saurait d'où peut venir le problème?
Windows / Firefox 118.0
- Python php
- Citizen code python avis - Accueil - Outils
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Mot secret python pix ✓ - Forum Python
3 réponses
26 oct. 2023 à 13:56
Bonjour
Déjà, il manque un espace après le mot python dans ta ligne de commande.
Ensuite, je pense qu'il faut lui indiquer le chemin complet vers l'exécutable python sinon il risque de ne pas retrouver son emplacement pour l'exécuter
Bonjour,
Merci de m'avoir répondu. J'ai apporté les modifications cependant rien ne s'affiche après le mot "output" sur la page. Voici la version corrigée:
<?php $python_script = "C:/wamp64/www/php_py/hello.py"; $output = shell_exec("python " . $python_script); echo "<h1>Output: {$output} </h1>"; ?>
J'ai tenté avec \\ ou juste \ mais le résultat est le même. Cependant, essayer sur cmd lance le programme python.
Edit: J'ai essayé sur Ubuntu plutôt que windows et cela fonctionne. Le problème ne semble pas venir du code php.
J'ai trouvé la solution, malgré que python soit dans mon path, cela ne fonctionnait pas dans php et la configuration de php.ini dans wamp server n'avait aucun champ spécifiant que des fonctions étaient désactivées, la seule solution un peu primitive mais fonctionnelle est de faire:
<?php $output = shell_exec("C:\chemin-vers-python\Python3xx\python.exe hello.py"); echo "<h1>Output:" . $output . "</h1>"; ?>
27 oct. 2023 à 06:51
En fait... Tu as juste fait ce que je t'avais dit..
Le.chemin vers l'exe de python...