Een Python-script uitvoeren vanuit PHP

| | | | | | | | | | | | | | | |

Ik probeer een Python-script vanuit PHP uit te voeren met het volgende commando:

exec("/usr/bin/python2.7 /srv/http/assets/py/switch .py arg1 arg2");

PHP produceert echter gewoon geen uitvoer. Foutrapportage is ingesteld op E_ALL en display_errors is ingeschakeld.

Dit is wat ik heb geprobeerd:

  • Ik heb python2, /usr/bin/python2 en python2.7 in plaats van /usr/bin/python2.7
  • Ik heb ook een relatief pad in plaats van een absoluut pad dat ook niets veranderde.
  • Ik heb geprobeerd de commando's exec, shell_exec, system< te gebruiken /code>.

Als ik echter

if (exec("echo TEST") == "TEST") { echo "exec works !"; } 

het werkt prima, terwijl nu afsluiten niets doet.

PHP heeft de permissies om toegang te krijgen en uit te voeren het bestand.

EDIT: Dankzij Alejandro kon ik het probleem oplossen. Als je hetzelfde probleem hebt, vergeet dan niet dat je webserver waarschijnlijk/hopelijk niet als root draait. Probeer in te loggen als de gebruiker van uw webserver of een gebruiker met vergelijkbare machtigingen en probeer de opdrachten zelf uit te voeren.