Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 28
  1. #11
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    sei sicuro che ci sia x tra le caratteristiche del file python?

  2. #12
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Quote Originariamente inviata da fermat Visualizza il messaggio
    si perchè per eseguire script python, devi configurare il server (suppongo apache).
    in pratica viene trattato come uno script CGI, e come tale devi configurarlo!
    ma non c'è alcun bisogno di usare CGI, basta eseguire lo script come un comando shell da PHP
    perché complicarsi la vita?

  3. #13
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    44
    cos'è x?

  4. #14
    Quote Originariamente inviata da clasku Visualizza il messaggio
    ma non c'è alcun bisogno di usare CGI, basta eseguire lo script come un comando shell da PHP
    perché complicarsi la vita?
    si certo.
    io personalmente trovo assurdo lanciare una chiamata ajax a php per esguire uno script python.
    però si certo che si può fare come dici tu!

  5. #15
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Quote Originariamente inviata da tom135 Visualizza il messaggio
    cos'è x?
    Dovresti essere su Linux, visto il codice che usi

    Usa ls -l da terminale e guarda se tra i permessi del file Python hai una x
    Quello ti dice se è eseguibile o meno

    Per fermat: quindi secondo te lanciare un chiamata via web ad uno script non controllato che fa azioni sul server è meglio che lanciare quello script da un file PHP?

  6. #16
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    44
    si il file è eseguibile

  7. #17
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    44
    si il file è eseguibile.
    Se non è troppo complicato configurare apache per eseguire gli script python preferirei questa via perchè più diretta. Ho provato a cercare delle guide su internet ma ho trovato cose molto diverse quindi non saprei.
    Altrimenti va bene anche usare php però sembra che lo script php, solo se viene chiamato con ajax, non avvii lo script python.

    Lo script php che attualmente ho provato è

    <?php

    echo exec('./oValues.py');

    ?>

    e invece oValues.py è:

    #!/usr/bin/env python
    import time
    import Adafruit_ADS1x15
    adc = Adafruit_ADS1x15.ADS1115() #Create an ADS1115 ADC 16-bit instance
    GAIN = 1
    values = [0]*4
    for i in range(4):
    values[i] = adc.read_adc(i, gain=GAIN, data_rate=128)
    print str(values)

  8. #18
    Quote Originariamente inviata da clasku Visualizza il messaggio
    Per fermat: quindi secondo te lanciare un chiamata via web ad uno script non controllato che fa azioni sul server è meglio che lanciare quello script da un file PHP?
    scusa ma non capisco.
    in fondo quando usi ajax con php non è la stessa cosa??
    oppure te non usi ajax in generale??

  9. #19
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    uso ajax quando serve, ma tendo a separare i contesti di esecuzione dei programmi

    tornando al problema di tom135: se ho capito bene, quando richiami il tuo file PHP da browser vedi a schermo la risposta che ha preso dall'output dello script in python, se lo fai da ajax non ottieni niente. Hai provato a loggare su un file di testo il risultato delle due chiamate (una banalissima scrittura su file del valore che ti restituisce exec())?

  10. #20
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    44
    Allora ho fatto queste modifiche allo script php

    <?php

    $out=exec('./oFile.py');
    $fp = fopen("log.txt", "w");
    if(!$fp) die ("Errore nella operaione con il file");
    fwrite($fp, "output");
    fwrite($fp, $out);
    fclose($fp);


    ?>

    Se lo avvio da terminale con php getData.php mi crea il file log con scritto output[12,43,12]. [12,43,12] questo è l'output corretto (sono i valori di un sensore) dello script python quindi lo avvia.
    Se avvio lo script python tramite browser mi crea il file ma c'è scritto solo output, quindi non avvia lo script python perchè exec non ritorna niente.
    La stessa cosa con ajax.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.