PHP exec () çağrısı çalışır asla

3 Cevap php

Ben bu izinleri sorun olduğuna inanıyorum, ama bunu düzeltmek için nasıl emin değil.

Mainscript.php - - Ben bir php komut dosyası var çağırır:

$scriptCall = "/usr/bin/php wrap_prep.php 2>&1 &";

Mainscript.php çalıştırırken, wrap_prep.php yürütür asla. Ben kök ve kaçak olarak benim webserver oturum Ancak, php wrap_prep.php 2>&1 & iyi çalışıyor.

Ben sahibi ve grup benim apache kullanıcı yanı sıra 755 izinlerle her iki komut belirledik.

Geçenlerde (bu yeni sorunu ile ilgisi varsa emin değilim) bir kitaplık eklemek için PHP derlenmesi.

3 Cevap

Her şeyden önce, siz exec() komutu sadece çıkış ing gerektiğini verir. Ne olursa olsun bir hata mesajı olmalıdır.

İkinci olarak, bir PHP komut dosyası olduğu gerçeği mutlaka PHP altında çalıştığı kullanıcı /usr/bin/php de PHP ikili aramak için izin anlamına gelmez. Eğer bu haklarını değiştirmeyi deneyebilirsiniz?

Bu işe yaramazsa, PHP komut tam olarak çalıştığı, hangi kullanıcı kontrol. Bildiğim kadarıyla, posix_getuid() öğrenmek için en doğru araçtır. Ayarladığınız izinler için haklarını ayarlamak kullanıcılar ile gerçekten aynı olduğundan emin olun.

Yukarıda Oh ve Thilo yaptığı yorum çok açık bir şey ve ilk kontrol edilmelidir :)

Ben emin konak tamamen exec devre dışı değil olmak için kontrol ediyorum. Ben ise phpinfo() söyler inanıyorum.

Pencere (Ben OP değil biliyorum) üzerinde çalışan varsa sorun tırnak kümesindeki tüm komut sarmak için gerekli olabilir.

Bu açıklanmıştır here