": : bulunamadı sh" popen ile başarısız

1 Cevap php

Ben bir sunucu uygulama geliştiriyorum ve ben son zamanlarda bir test sunucusuna (Debian Squeeze) Bu garip bir hata ile karşılaştı.

Ben geçmek her yürütülebilir popen bir msj ile başarısız:

sh: sort: not found // happens to any command

This happens regardless whether I point to the full path returned by "type" or keep it short . As mentioned earlier, this happens at only one testing environment, to add confusion, am running the same OS and had no problem whatsoever.

Popen görünüşte sh komutları çalıştırmak için kullanıyor, ama ben komut satırından (bash veya sh) aracılığıyla aynı komutu çalıştırırsanız, her şey gayet iyi

Şimdiden teşekkürler

(PS:! Bile Python bu kafa kaşıyıcı tırnak sadece os.popen denedim ve çalışıyor)

Edit this is a simple call that fails:

$command="tail -10 myfile";
$handle = popen($command.' 2>&1','r');
if($handle){
  while (!feof($handle)){
  ....//process buffer
  }
}

döner:

sh: tail: not found

1 Cevap

Popen çağırırken muhtemelen PATH, düzgün yapılandırılmış DEĞİLDİR. Bu bir PHP yapılandırma sorun sanırım, ama bunu tarafından atlayabilirsiniz:

  1. Run which tail kuyruk programın tam yolunu belirlemek.
  2. 1 bulunan yolu ile popen diyoruz.