Callievi
Posts: 32
Joined: Fri Feb 13, 2015 11:27 am

Python e PHP

Tue Mar 31, 2015 11:57 pm

Salve ragazzi,sto letteralmente impazzendo!
Sto lavorando ad un progetto e mi servirebbe poter lanciare uno script phyton da una pagina php.

Questo è il mio script python

Code: Select all


#! /usr/bin/python

import RPi.GPIO as gpio #importa la libreria RPI.GPIO e gli assegna il nome gpi$
import time #importiamo la libreria time per il delay

gpio.setmode(gpio.BCM) #imposta il tipo di nome dei pin
gpio.setup (17,gpio.OUT,initial=1) #imposta il pin GPIO17 come output e con val$

time.sleep(5)

gpio.output (17,0) #impostiamo il ping GPIO17 ad 1

gpio.cleanup() #riportiamo tutto alle configurazioni di default

exit()
mentre girando un pò su internet ho trovato questo codice php per avviare lo script

Code: Select all

<?
  exec("/var/www/prova/accensione.py");
 ?>
Ma lo script non viene avviato.
Potreste illuminarmi sull'argomento?
Grazie mille!

Bob8x
Posts: 95
Joined: Thu Jan 03, 2013 1:30 pm

Re: Python e PHP

Wed Apr 01, 2015 11:22 am

Ciao, credo che tu ti sia dimenticato la parte più importante, ovvero dirgli di eseguire lo script come python...
Ovvero metti davanti python al path, se il file è nella stessa folder del file php puoi anche non metterlo

Code: Select all

    $res = exec('python onDemand.py');
Se anche così non va ci dev'essere qualche permesso strano da settare, ma così su due piedi dovrebbe funzionare

Callievi
Posts: 32
Joined: Fri Feb 13, 2015 11:27 am

Re: Python e PHP

Wed Apr 01, 2015 4:46 pm

Anche scrivendo python (ho addiritura tutto il path di dove si trova l'interprete)non funziona,pagina bianca

EDIT: ho provato ad avviare con una pagina php il comando shell_exec("ls") e stampare il risultato,il comando viene effetuato con successo e mi stampa l'output correto,se provo ad avviare exec("ls") invece mi da in output il nome del file (shell.php).

Callievi
Posts: 32
Joined: Fri Feb 13, 2015 11:27 am

Re: Python e PHP

Sun Apr 05, 2015 10:43 pm

Scrivo per chi magari avesse il mio stesso problema,ho risolto usando una libreria php

http://phpseclib.sourceforge.net/

permette l'accesso da php tramite un utente e tramite quell'utente (root o chi ha i privileggi) si può utilizzare il comando exec per avviare il file script

Porcell1
Posts: 8
Joined: Tue Feb 03, 2015 7:33 pm

Re: Python e PHP

Sun Apr 05, 2015 11:32 pm

Oppure usi la libreria php per fare richieste ssh e lo lanci da ssh. È anche meglio così non vincoli che il tutto debba stare sullo stesso server

cil8
Posts: 179
Joined: Tue Feb 14, 2012 10:47 am

Re: Python e PHP

Wed Apr 08, 2015 7:12 am

non capisco cosa ti aspetti che compaia nella pagina web: ad una occhiata veloce il tuo programma Python non stampa alcunchè.
Se lanci il programma direttamente da linea di comando, anzichè da php, cosa esce?

lucat
Posts: 3
Joined: Thu May 28, 2015 10:01 pm

Re: Python e PHP

Thu May 28, 2015 10:12 pm

Per Callievi
Ho un problema analogo, dovrei lanciare un paio di script da una form php su windows con Wamp.
Gli script.py si trovano su raspberry P2 ed eseguono la lettura del codice UID di una tessera Mifare tramite il modulo NXP explore NFC.
Gli script funzionano su raspberry, ma non riesco a lancialri dal form PHP in Windows...
Dovrei prelevare il riusltato e successivamente inviarlo a una tabella in mysql che ho preparato.
Ho provato con la libreria indicata (phpseclib) ho inserito tutto il contenuto nella directory www/mio_progetto/lib
<?php
include('lib/Net/SSH2.php');
$ssh = new Net_SSH2('192.168.178.27');
if (!$ssh->login('pi', 'raspberry')) {
echo 'Login Failed';
}
$res = $ssh->exec('python //RASPBERRYPI/shared/pi/Desktop/Prj/NFC_NXP/test1_UID.py');
echo $res
?>
mi ritorna un amre di errori...
qualche idea?
grazie.

( ! ) Warning: include_once(Math/BigInteger.php): failed to open stream: No such file or directory in C:\wamp\www\NFC\lib\Net\SSH2.php on line 858
Call Stack
# Time Memory Function Location
1 0.0006 241432 {main}( ) ..\test_script_py.php:0
2 0.0040 1057944 Net_SSH2->Net_SSH2( ) ..\test_script_py.php:15

( ! ) Warning: include_once(): Failed opening 'Math/BigInteger.php' for inclusion (include_path='.;C:\php\pear') in C:\wamp\www\NFC\lib\Net\SSH2.php on line 858
Call Stack
# Time Memory Function Location
1 0.0006 241432 {main}( ) ..\test_script_py.php:0
2 0.0040 1057944 Net_SSH2->Net_SSH2( ) ..\test_script_py.php:15

( ! ) Warning: include_once(Crypt/Random.php): failed to open stream: No such file or directory in C:\wamp\www\NFC\lib\Net\SSH2.php on line 862
Call Stack
# Time Memory Function Location
1 0.0006 241432 {main}( ) ..\test_script_py.php:0
2 0.0040 1057944 Net_SSH2->Net_SSH2( ) ..\test_script_py.php:15

( ! ) Warning: include_once(): Failed opening 'Crypt/Random.php' for inclusion (include_path='.;C:\php\pear') in C:\wamp\www\NFC\lib\Net\SSH2.php on line 862
Call Stack
# Time Memory Function Location
1 0.0006 241432 {main}( ) ..\test_script_py.php:0
2 0.0040 1057944 Net_SSH2->Net_SSH2( ) ..\test_script_py.php:15

( ! ) Warning: include_once(Crypt/Hash.php): failed to open stream: No such file or directory in C:\wamp\www\NFC\lib\Net\SSH2.php on line 866
Call Stack
# Time Memory Function Location
1 0.0006 241432 {main}( ) ..\test_script_py.php:0
2 0.0040 1057944 Net_SSH2->Net_SSH2( ) ..\test_script_py.php:15

( ! ) Warning: include_once(): Failed opening 'Crypt/Hash.php' for inclusion (include_path='.;C:\php\pear') in C:\wamp\www\NFC\lib\Net\SSH2.php on line 866
Call Stack
# Time Memory Function Location
1 0.0006 241432 {main}( ) ..\test_script_py.php:0
2 0.0040 1057944 Net_SSH2->Net_SSH2( ) ..\test_script_py.php:15

( ! ) Fatal error: Call to undefined function phpseclib_resolve_include_path() in C:\wamp\www\NFC\lib\Net\SSH2.php on line 1138
Call Stack
# Time Memory Function Location
1 0.0006 241432 {main}( ) ..\test_script_py.php:0
2 0.0195 1067840 Net_SSH2->login( ) ..\test_script_py.php:16
3 0.0196 1068912 call_user_func_array:{C:\wamp\www\NFC\lib\Net\SSH2.php:1804} ( ) ..\SSH2.php:1804
4 0.0196 1069464 Net_SSH2->_login( ) ..\SSH2.php:1804
5 0.0196 1070184 Net_SSH2->_connect( ) ..\SSH2.php:1820
6 0.3467 1088984 Net_SSH2->_key_exchange( ) ..\SSH2.php:1043

lucat
Posts: 3
Joined: Thu May 28, 2015 10:01 pm

Re: Python e PHP

Fri May 29, 2015 12:03 am

credo di aver compreso che la libreria non gira sostto windows ed in wampserver... ho caricato la libreria di ph ssh2 in wamp ora ho i comandi...qualche idea?

Return to “Italiano”