2012-03-19 15 views
5

Lateks dosyamı php komut dosyasında derlemeye çalıştım ancak xelatex'u arayamaz. php komut dosyasındaSistem() aracılığıyla harici program yürütülemiyor mu?

:

system("/usr/bin/whoami"); 
system("/usr/bin/xelatex foo.tex 2>&1"); 

çıkışı:

myuser 
sh: 1: /usr/bin/xelatex: not found 

Ama terminalde

:

$ /usr/bin/whoami 
=> myuser 
$ /usr/bin/xelatex foo.tex 
This is XeTeX, Version 3.1415926-2.2-0.9995.2 (TeX Live 2009/Debian) 
...(successful output)... 

Ben myuser olarak php çalıştırın ve system() mutlak yolunu geçmektedir. Ve safe_mode'u kapatıyorum. Neden hala harici programları yürütemiyorum?

+0

Chop ve php dosyası nedir? ve ayrıca izin – safarov

cevap

1

Son olarak sistem yöneticime ulaştım ve sorunu buldum. Makine bir NFS içinde, bu nedenle apache ve giriş kabuğu farklı makinelerde. Apache'nin çalıştığı makinede xelatex yoktur.

0

PHP kodunu çalıştırdığınız dizinin iznini kontrol edin. doğrulama için, yalnızca doğrulama için root ile deneyin.

Umut bu yardım

0

sen onu bulamadığı dosyası 'foo.tex' olmadığından emin misiniz? Kabuk çıktısını bir dosyaya, örn. system("/usr/bin/xelatex ./foo.tex > ./test.out"); ve o zaman ne kazanacağına bakın.