sistemi () php komutu mangles

4 Cevap

Ben PHP sistemi () üzerinden bir komutu çalıştırmak için çalışıyorum. Komutu / usr / bin / unzip, ancak işlevi hata kodu 127 ile döner. Başka bir şey çıkışı yoktur. Ben çalışan bir kabuk doğrudan çok aynı komutunu çalıştırın.

': / Unzip: bulunamadı sh' apache hata günlüğü diyor. Ben de) PHP dosyası olarak aynı dizinde bir kabuk içine komutu koymak ve sistemi (aracılığıyla kabuk komut aramaya çalıştık. Aynı olur: kabuk komut dosyası adı ise 'doit.sh' apache günlüğüne hata iletisi ': / doit.sh: bulunamadı sh' olurdu.

exec () aynı davranışı vardır.

PHP version Suhosin uzantıları ile 5.2.11-2 olduğunu.

Herhangi bir PHP Emrimi için yapıyor olabilir ne fikir?

4 Cevap

Php.ini güvenli modunu kapatın.

Güvenli mod ve safe_mode_exec_dir mülkiyet anlatıldığı gibi tam olarak aynı davranışı alırsınız boşsa.

Aksine şeyleri halletmek için dışarı bombardımanı daha, sadece kullanabilirsiniz PHP's zip functions.

Eğer '/ usr / bin / unzip' kullanarak olmalıdır zaman komut 'unzip' gönderiyor sanki görünüyor

Değilse, Web sunucusu bir chroot ortamda çalışıyorsa, o zaman kontrol ettiniz?

C.

Belki komut adı ile sadece deneyin?

system('unzip somestuff', $retval);