Pagina 1 di 1

PHP exec shell command

Inviato: sab 12 gen 2013, 16:09
da darkstaring
Giorno ;-) ....

Sto tentando di eseguire uno script bash da php con la funzione exec ma sembrerebbe che il comando venga eseguito solo "virtualmente"
e che non venga eseguito realmente... l'output che ricevo è esattamente quello che otterrei da shell però, di fatto, sembra che il processo che dovrebbe avviare lo script non venga eseguito.
Quindi ho provato a far eliminare una directory così:

Codice: Seleziona tutto

  $output = exec ("rm -rfv /var/www/tv/gestione/script/pippo &> /dev/null ; echo directory cancellata;");
  echo $output;
La directory non viene eliminata ma mi viene restituito "directory cancellata";

Ho provato anche con "shell_exec" e "passthru" e "system" ma i comandi non vengono eseguiti come se li scrivessi sul terminale come vorrei io...
Sapete aiutarmi???

Re: PHP exec shell command

Inviato: sab 12 gen 2013, 17:44
da targzeta
Tieni presente che l'utente che esegue quei comandi è apache, quindi deve avere i diritti per poter eliminare la directory, altrimenti non lo fa.

Emanuele

Re: PHP exec shell command

Inviato: sab 12 gen 2013, 19:41
da ZeroUno
sostituisci il "&> /dev/null" con "2>&1" così vedi se da messaggi di errore.

Tieni presente però che exec restituisce solo l'output dell'ultima riga, quindi non troveresti l'errore.