Php den Topal Koşma

3 Cevap php

Ben bir php komut dosyası topal çalıştırmak çalışıyorum.

Ben bu denedim, ama hayır şans, ben bir şey geri alamadım! Herhangi bir fikir?

system('lame', $returnarr);
system('lame --help', $returnarr);
exec('lame', $returnarr);
passthru('lame', $returnarr);

bu bile bir şey verir:

exec('which lame', $returnarr);

I am on OSX and final deployment will be on Linux. Do you have better suggestions for an automated wav->mp3 conversion? From php, should I execute a bash script that executes Lame?

3 Cevap

Böyle bir şey deneyin:

$output = array();
$result = -1;
exec('`/usr/bin/which lame` --help 2>&1', $output, $result);
var_dump($output, $result);

$ Output çıkışı satırların bir dizi olmalıdır

$ Sonuç bir tamsayı sonuç kodu olmalıdır. 0> = 1 (özel kodlar uygulama bağımlı) bir hatadır, genellikle başarı.

2> & 1 kısmı normal düşmüş olacaktır STDOUT ($ çıkış) STDERR yönlendirir. Dışarı erroring eğer Yani, (umarım) hatayı görmek gerekir.

Eğer $ sonucu dökümü için -1 alırsanız o (büyük olasılıkla exec devre dışı veya çalıştırmak için çalışıyoruz süreci nedeniyle izinleri hataları veya sınırlı olduğu anlamına gelir geçerli bir sonuç kod değil, çünkü bir fundimental sorun var Böyle) ...

raporlama hata ayarlanır ve Exec'in yapabilirsiniz olmadığını kontrol edin. Varsayılan olarak, çoğu sistemler bu ciddi bir güvenlik sorumluluğu var, buna izin vermeyeceğiz. Açıkça php.ini içinde denetmen izin var.

Bir $PATH sorun olabilir. Topal, yani tam yolunu belirterek sahipsiniz. /usr/local/bin/lame.