Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940

    [PHP on Linux] Non riesco ad eseguire eseguibile

    Scusate la domanda da Linuxniubbo, ma da cosa può dipendere il fatto che non risco ad eseguire un qualsivoglia eseguibile (dotato dei necessari permessi di esecuzione) su Linux/Apache2/PHP5?

    10x.

    [.:: JaguarXF ::.]
    __________________

  2. #2
    mark2x devi spiegare un' attimo lo scenario della tua situazione.
    Che eseguibile stai cercando di far partire?
    Sei su shell o su web?
    Quale funzione di php stai usando?

    e possibilmente un pezzetino di codice ....

  3. #3
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Un qualsiasi eseguibile, mettiamo Firefox, ovviamente da script PHP via Apache 2 su Linux.

    [.:: JaguarXF ::.]
    __________________

  4. #4
    aspe aspe fammi capire.. tu vuoi eseguire un file tipo
    firefox.exe ?
    Oppure vuoi... cioè che c'entra php con gli eseguibili cmq?? :master:
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  5. #5
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Non va:

    Codice PHP:
    $comando "/usr/bin/soffice";
    shell_exec($comando); 
    Mentre va:

    Codice PHP:
    $comando "/usr/bin/pdftk";
    shell_exec($comando); 
    pdftk è un tool da linea di comando.

    Su Win non c'è differenza, se lancio un eseguibile lancio anche l'altro, posto il settaggio di "Permetti ad Apache di interagire col desktop" nella sua finestra in Servizi.
    Ma su Linux?
    C'è per caso un settaggio analogo? Non saprei dove iniziare dato che Linux lo conosco davvero poco.

    [.:: JaguarXF ::.]
    __________________

  6. #6
    ah guarda pensavo volessi fare una cosa diversa... devo ammettere che non son capace di darti una mano su questo... mi spiace...
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da mark2x
    Non va:

    Codice PHP:
    $comando "/usr/bin/soffice";
    shell_exec($comando); 
    Mentre va:

    Codice PHP:
    $comando "/usr/bin/pdftk";
    shell_exec($comando); 
    pdftk è un tool da linea di comando.

    Su Win non c'è differenza, se lancio un eseguibile lancio anche l'altro, posto il settaggio di "Permetti ad Apache di interagire col desktop" nella sua finestra in Servizi.
    Ma su Linux?
    C'è per caso un settaggio analogo? Non saprei dove iniziare dato che Linux lo conosco davvero poco.
    Premessa:

    Devi innanzi tutto vedere con quale utente gira apache (nel mio caso www-data):
    codice:
    caladan:/home/gianiaz# ps aux | grep apache
    root      2186  0.0  1.1  15688  5192 ?        S    Jul17   0:00 /usr/sbin/apache
    www-data  2191  0.0  1.8  17720  8476 ?        S    Jul17   0:03 /usr/sbin/apache
    Solitamente l'utente con cui gira il webserver non ha una shell valida (nel senso che non può accedere al pc ad esempio tramite ssh e non può far partire programmi).

    Quindi dobbiamo verificare che l'utente con cui gira apache abbia questa possibilità.
    Lo verifichiamo cosi:
    (il primo caso è quello dell'utente www-data che ha una shell valida, mentre il secondo è quello di un utente di sistema che non ha diritto di far partire le applicazioni).
    codice:
    caladan:/home/gianiaz# cat /etc/passwd | grep www-data
    www-data:x:33:33:WebServer Caladan:/var/www:/bin/sh
    caladan:/home/gianiaz# cat /etc/passwd | grep syslog
    syslog:x:112:113::/:/bin/false
    caladan:/home/gianiaz#
    Nel mio caso posso far partire i programmi che voglio, e dovrebbe funzionare il tuo metodo.

    Sappi che comunque (come ti avevo già detto tempo fa) non è una gran soluzione permettere al web server di far partire applicazioni tipo openoffice, quindi prendi in considerazione le altre possibilità per generare i pdf.

    ciao

  8. #8
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Grazxie 1000000^10.... però....

    codice:
    ps aux | grep httpd
    indica che apache gira come "apache", il quale:

    codice:
    [marco@192 ~]$ cat /etc/passwd | grep apache
    apache:x:71:71:system user for apache-conf:/var/www:/bin/sh
    Infatti "apache" esegue comandi da shell, ma non OO o Firefox ad esempio, che hanno interfaccia GFX. Ti dice qcosa?

    [.:: JaguarXF ::.]
    __________________

  9. #9
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    ma tu da console se ti logghi come utente apache riesci ad avviare openoffice?
    prova a lanciare proprio da shell l'eseguibile, e vedi se ti rilascia degli errori.

    GFX non mi dice nulla purtroppo...


    ciao

  10. #10
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Originariamente inviato da gianiaz
    ma tu da console se ti logghi come utente apache riesci ad avviare openoffice?
    prova a lanciare proprio da shell l'eseguibile, e vedi se ti rilascia degli errori.
    Ci stavo provando proprio ora... ma non so quale sia la password dell'utente "apache"...
    Ne esiste una di default?

    [.:: JaguarXF ::.]
    __________________

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 © 2025 vBulletin Solutions, Inc. All rights reserved.