Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

shell_exec - shell skirpta ne radi

[es] :: PHP :: shell_exec - shell skirpta ne radi

Strane: 1 2

[ Pregleda: 4031 | Odgovora: 35 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dial-up.dsl.siol.net.



+18 Profil

icon shell_exec - shell skirpta ne radi16.02.2010. u 12:21 - pre 171 meseci
Pozdrav svima.

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:

Code:


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
 
Odgovor na temu

kotnik
Nikola Kotur
Novi Sad

Član broj: 25269
Poruke: 39
*.static.isp.telekom.rs.

Jabber: kotnik@jabber.ccc.de
ICQ: 209800446
Sajt: nultibitovi.net


Profil

icon Re: shell_exec - shell skirpta ne radi16.02.2010. u 12:29 - pre 171 meseci
Da li pozivaš skriptu punom putanjom?
It's all GNU to me...
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dial-up.dsl.siol.net.



+18 Profil

icon Re: shell_exec - shell skirpta ne radi16.02.2010. u 12:37 - pre 171 meseci
Probao sam i sa punom ali u principu isto je posto se folder sa skriptom nalazi u $PATH variabli (u terminalu). Kao sto sam rekao sa Terminalom kad pozovem radi, a kroz PHP - ne...
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dial-up.dsl.siol.net.



+18 Profil

icon Re: shell_exec - shell skirpta ne radi16.02.2010. u 13:32 - pre 171 meseci
Evo sta error_log u php-u kaze:

Code:

nohup: cannot run command `/home/<user>/Downloads/<folder>/rtf2pdf.sh': Permission denied


<user> i <folder> su moje neke putanje koje zelim da sakrijem :)
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.adsl.beotel.net.



+13 Profil

icon Re: shell_exec - shell skirpta ne radi16.02.2010. u 13:44 - pre 171 meseci
Probaj da mu stavis (toj skripti rtf2pdf.sh):

Code:

chmod 777 rtf2pdf.sh


Ako onda bude radilo, imas problem sa dozvolama (logicno :P)
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.kbcnet.rs.



+257 Profil

icon Re: shell_exec - shell skirpta ne radi16.02.2010. u 14:35 - pre 171 meseci
A radice mu posto apache "radi" pod drugim korisnikom. ;) Mada bice dovoljno verovatno i 755 umesto 777.

Potrebno je da promenis grupu pod kojom radi skript (chown user:grupa fajl), gde je user user pod kojim radi, a grupa grupa pod kojom apache radi. I potrebno je da das 75x privilegije fajlu (ili cak 77x), gde x izaberi sam (moze recimo 0).
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dynamic.dsl.t-2.net.



+18 Profil

icon Re: shell_exec - shell skirpta ne radi16.02.2010. u 18:01 - pre 171 meseci
To sam i ja mislio da je problem - vec sam prije stavio 777 na fajl, a poslije i na citav folder gdje se nalazi aplikacija, ali i dalje NE radi.

Mozda je do grupe problem? Kako da vidim pod kojom grupom radi apache?

P.S.

mozda sam trebao u Linux forum ovo stavit :)
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.rs.



+257 Profil

icon Re: shell_exec - shell skirpta ne radi16.02.2010. u 18:26 - pre 171 meseci
Ako si stavio pod 777 onda nije problem grupe, vec necega unutar skripta. Koja ti se javlja greska sad - vise nema permission denied?
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dynamic.dsl.t-2.net.



+18 Profil

icon Re: shell_exec - shell skirpta ne radi16.02.2010. u 18:32 - pre 171 meseci
isto permision denied

ako stavim sudo ispred komande pise mi:
Code:

[sudo] password for nobody:

u logu

p.s. jel postoji mogucnost da kucam sudo i da pored nekako upisem root usename i pass (ako razumijes sta hocu )?
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.dynamic.sbb.rs.



+13 Profil

icon Re: shell_exec - shell skirpta ne radi16.02.2010. u 19:26 - pre 171 meseci
Cekaj, da ti iz tog skripta ne pokreces nesto za sta nemas permissione ? :-)

EDIT: Pogledaj ovo, mozda ti pomogne: http://www.php.net/manual/en/function.shell-exec.php#69706

EDIT2: Ili ovo: http://www.php.net/manual/en/function.shell-exec.php#68685
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.rs.



+257 Profil

icon Re: shell_exec - shell skirpta ne radi16.02.2010. u 19:28 - pre 171 meseci
Ajde ti nama lepo jedan
ls -l rtf2pdf.sh

pa da vidimo prava pristupa.
Isto, da li u okviru tog rtf2pdf.sh pozivas nesto na sta nemas prava? Mnogo si maglovit a ocekujes pomoc, tesko ce to ici...

P.S. Nemam pojma za sudo da li mozes nesto da uradis...

Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dynamic.dsl.t-2.net.



+18 Profil

icon Re: shell_exec - shell skirpta ne radi16.02.2010. u 20:01 - pre 171 meseci
evo ispis trazene komande:

Code:

...../ted-2.21-linux-ix86/Ted$ ls -l rtf2pdf.sh
-rwxrwxrwx 1 boris boris 3202 2009-10-16 17:14 rtf2pdf.sh


A evo o kojoj se skripti radi:

stranica: http://www.nllgg.nl/Ted/

direct download: ftp://ftp.nluug.nl/pub/editors/ted/ted-2.21-linux-ix86.tar.gz

Kad to raspakujete imate u folderu 'Ted/' fajl rtf2pdf.sh...

Ako jos nesto nije jasno pitajte...
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.rs.



+257 Profil

icon Re: shell_exec - shell skirpta ne radi16.02.2010. u 20:40 - pre 171 meseci
rtf2pdf.sh poziva Ted program. Da li ti je on u PATH-u i da li imas prava da njega izvrsavas?

Btw, da li ga pozivas sa:
Code:
#  Usage    rtf2pdf.sh --paper paper something.rtf something.pdf
#  Or        rtf2pdf.sh something.rtf something.pdf
#

Kao sto pise na ftp://ftp.nluug.nl/pub/editors/ted/rtf2pdf.sh ?

I jos nesto - imas li prava nad "something.rtf"? Imas li prava da pises u direktorijumu gde treba da dodje "something.pdf"?
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dynamic.dsl.t-2.net.



+18 Profil

icon Re: shell_exec - shell skirpta ne radi16.02.2010. u 20:56 - pre 171 meseci
Code:

(Ted:15799): Gtk-WARNING **: cannot open display: :0.0
No protocol specified


Ovo ispise u log kada pozovem komandu "Ted"
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dial-up.dsl.siol.net.



+18 Profil

icon Re: shell_exec - shell skirpta ne radi17.02.2010. u 09:28 - pre 171 meseci
Mislim da je ova tema vise za Linux forum pa bih molio admine da ju prebace tamo.

hvala
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.kbcnet.rs.



+257 Profil

icon Re: shell_exec - shell skirpta ne radi17.02.2010. u 10:03 - pre 171 meseci
Jos ces me naterati da instaliram to cudo da probam :(
Da li ti se nesto "otvara" graficki kad pozivas "rucno" skriptu (pitam zbog ovog gtk warning)? Ako sam dobro shvatio, sve radi lepo kad pokrenes iz shell-a? Ali iz php-a ne?

Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dial-up.dsl.siol.net.



+18 Profil

icon Re: shell_exec - shell skirpta ne radi17.02.2010. u 10:18 - pre 171 meseci
Ova rtf2pdf.sh skripta nema graficno nista. Ona koliko sam ja razumio poziva program "Ted" sa nekim parametrima.

E taj Ted kada pozovem iz shell-a (znaci samo "Ted" kucam u terminal) onda se otvori neki prozorcic.

Ova sh skripta se koristi na sledeci nacin:

Code:

rtf2pdf.sh input_dokument.rtf output_dokument.pdf


Tako se RTF dokument pretvara u PDF i to mi RADI kada zovem iz terminala, ali NE RADI iz PHP-a.


P.S. @Man-Wolf: dobro si me podsjetio, pravo bi lose bilo kada bi u PHP fajlu imao root podatke za Linux :) Tako da sam odustao od te opcije, ako je uopste i bila opcija :)
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.kbcnet.rs.



+257 Profil

icon Re: shell_exec - shell skirpta ne radi17.02.2010. u 10:50 - pre 171 meseci
Sta ti kaze ispis:
php -r 'shell_exec("rtf2pdf.sh input_dokument.rtf output_dokument.pdf");'

u terminalu i da li napravi fajl? Naravno, zameni nazive dokumenata, i pozicioniraj se na dir gde imas rtf fajl.
a sta kaze:
rtf2pdf.sh input_dokument.rtf output_dokument.pdf

?

Koje su razlike? Mozda ti nohup unosi zabunu?
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dial-up.dsl.siol.net.



+18 Profil

icon Re: shell_exec - shell skirpta ne radi17.02.2010. u 11:08 - pre 171 meseci
Ovo prvo ne mogu pokrenut posto nemam instaliran PHP. "The program 'php' is currently not installed...."

A drugo ne ispisuje nista, samo konvertuje dokument (kreira output_dokument.pdf)

A sta je noshup? i zasto mi to pise u logu?
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.kbcnet.rs.



+257 Profil

icon Re: shell_exec - shell skirpta ne radi17.02.2010. u 12:53 - pre 171 meseci
Khm, umesto php probaj sa php5. Ako nece ni tako - pa instaliraj taj php ;)

Drugo... sta me pitas za svoj kod???
Citat:
$PID = shell_exec("nohup $Command > /dev/null & echo $!");

Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

[es] :: PHP :: shell_exec - shell skirpta ne radi

Strane: 1 2

[ Pregleda: 4031 | Odgovora: 35 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.