Znaci ne radi mi shell skripta nesto.sh kada pozivam iz PHP-a pomocu shell_exec(), dok recimo kada iz sistema (terminala) pozivam, radi.
- komande 'ls' ili 'dir' rade.
- safe mode je iskljucen naravno
Evo kod pa ako neko moze pomoci bio bih zahvalan:
class exec {
/**
* Run Application in background
*
* @param unknown_type $Command
* @param unknown_type $Priority
* @return PID
*/
function background($Command, $Priority = 0){
if($Priority)
$PID = shell_exec("nohup nice -n $Priority $Command > /dev/null & echo $!");
else
$PID = shell_exec("nohup $Command > /dev/null & echo $!");
return($PID);
}
}
$exe = new exec;
$cmd = 'rtf2pdf.sh zinc.rtf';
echo 'CMD: ' . $cmd . '<br>';
$a = $exe->background($cmd);
Jos nesto:
- ta skripta se nalazi u folderu '/home/<korisnik>/Downloads/<folder>'
- kada iz terminala odradim echo $PATH, ispisuje mi takodje i taj folder
- www folder se nalazi u /home/<korisnik>/www (to je Document Root za apache)
Da li je problem sto se skripta nalazi van neke lokacije iz koje se MOGU pokretati skripte pomocu shell_exec() ? Da li je taj folder mozda nastiman u Apache/PHP podesavanjima ?
EDIT: instalacija Lampp se nalazi u /opt folderu