Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    problemi con shell_exec

    ciao a tutti,
    ho bisogno di lanciare un comando sul server linux tramite shell_exec ma non succede niente.
    questo è il codice d'esempio che ho provato (che è lo stesso del manuale di php.net):
    Codice PHP:
    <?php
    $output 
    exec('ls -lart');
    echo 
    "<pre>$output</pre>";
    ?>
    mi ritorna una pagina bianca.
    dove sbaglio?

    grazie

    lilli

  2. #2
    potrebbe essere un problema di permessi?

  3. #3
    fra l'altro, se lancio lo script php, da linea di comando mi funizona tutto.

  4. #4
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,287
    Prova

    $ret = exec('ls -lart',$output);
    print_r($output);

  5. #5
    se lancio lo script da shell mi ritorna:
    Array (
    [0] => total 200
    [1] => drwxr-xr-x 14 root root 4096 May 22 2009 ..
    [2] => -rw-r--r-- 1 idroberna psacln 318 Jul 6 2009 favicon.ico
    [3] => -rw-r--r-- 1 idroberna psacln 749 Sep 30 2009 ac_aut.php
    [4] => -rw-r--r-- 1 idroberna psacln 783 Sep 30 2009 ac_pub.php
    e così via per tutti i file...
    )

    se lo lancio da browser mi da una pagina bianca con scritto solo:

    Array ( )


    ho guardato il mio php.ini e mi dice:
    ; Safe Mode
    ;
    safe_mode=off

  6. #6
    è un problema di permessi? è come se il mio script se lanciato da browser non potesse usare la shell_exec o exec che sia...
    qualche idea?

  7. #7
    d'altronde da shell devo fare tutto come root altrimenti non riesco ad entrare in httpdocs dove risiede tutto il sito.

  8. #8
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,287
    Lo script(da browser) il processo gira con i permessi impostati in apache.

    Prova a lanciare lo script(da browser)
    Codice PHP:
    echo exec('whoami'); 
    Ti dovrebbe dire con che utente gira il processo.

    Ci dovrebbe essere un modo per impersonificare un altro utente ... magari aggiungi un comando sudo all'exec.
    Ma non ho esperienza in linux.

  9. #9
    Ciao,
    penso anche io che sia una questione di permessi, prova a vedere i file di log del server web. Io proverei a creare un file bash con magari un su root dentro e poi richiamarlo da codice php.
    Il blog sullo sviluppo software, lezioni online gratuite su VC/C++, VB.NET, C#, PHP, Windows e Linux.

  10. #10
    il problema è proprio che da browser non riesce nemmeno a lanciare whoami... evidentemente non ho proprio nessun permesso.
    dove si trova questo file di log di cui parlate? come faccio a modificarlo? sono piuttosto ignorante per quel che riguarda il mondo linux.

    grazie

    Originariamente inviato da URANIO
    Lo script(da browser) il processo gira con i permessi impostati in apache.

    Prova a lanciare lo script(da browser)
    Codice PHP:
    echo exec('whoami'); 
    Ti dovrebbe dire con che utente gira il processo.

    Ci dovrebbe essere un modo per impersonificare un altro utente ... magari aggiungi un comando sudo all'exec.
    Ma non ho esperienza in linux.

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.