Come eseguire script python online con php
Per eseguire online uno script scritto in Python su un sito web, richiamo lo script tramite l'istruzione exec di php.
$comando= 'python /path/prova.py';
exec($comando, $out, $status);
L'istruzione exec del linguaggio php esegue il comando e salva i parametri di ritorno nelle variabili $out e $status.
Un esempio pratico
Scrivo un semplice script in linguaggio python che stampa a video la stringa "prova esecuzione python online".
- #!/usr/bin/env python
- print("prova esecuzione python online")
Poi salvo il file dello script con estensione .py e lo carico in upload nella directory /home/scripts di Linux
Quindi, il percorso dello script scrittp in Python sul server è /home/scripts/prova.py
Nota. Per motivi di sicurezza la directory dove si trova lo script python non è navigabile online. Non è la stessa directory del sito web. E' comunque sullo stesso server.
Poi creo il file dello script in Php che esegue lo script python
Salvo il file php sul sito web in una directory navigabile online.
- $command= 'python /home/scripts/prova.py';
- exec($command, $out, $status);
- echo($out[0]);
Nella prima riga assegno alla variabile $command la stringa del comando da eseguire sulla shell di linux.
Nella seconda riga l'istruzione exec esegue il commando salvando l'output nella variabile $out.
Nota. La variabile $out è un vettore. Pur essendo soltanto un output, deve essere richiamato come il primo elemento del vettore ossia $out[0].
Nella terza riga lo script php visualizza il contenuto della variabile $out, ossia l'output dello script python, tramite l'istruzione echo.
Il risultato finale sullo schermo è il seguente:
Output
prova esecuzione python online
Lo script PHP ha eseguito lo script python, visualizzando l'output sulla pagina web del browser.
E così via.