PHP exec - eksik çıktı

2 Cevap php

Şu anda SoX PHP ile çalışma almak için çalışıyorum. Hepsi şimdiye kadar çalışır, ama geri çıktı alamadım. Ben zaten okudum ki bir kudreti rota Stderr ile de çıkışa "2> & 1" .. sorun, bu pencereleri makinelerde çalışmak için görünmüyor.

başka herhangi bir fikir?

aşağıdaki gibi kodu:

exec($path2sox . '/sox ' . $cmd . ' 2>&1', $output = array(), $result);

dosya oluşturulan alır oysa (yani temel sox komutu ben de windows komut tam olarak aynı komut bu test, tamam), ancak sonuç ne çıktı ne (SoX Seslendirme tam çıkışı olan, 4'e ayarlanır) karşılığında bir şey vermek

Ben windows 2> & 1 bildirimde anlamıyor, herhalde, ama bu nasıl aşılabilir?

P.S.: Aşağıda önerilen gibi, ben de bu çalıştı

$output = array();
echo "Executing: [$path2sox/sox $cmd]";
exec("$path2sox/sox $cmd", $output, $result);
echo "Result: ";
var_dump($result);
echo "\n
Output: "; var_dump($output);

where the output is:

Executing: [I:\SoX/sox --guard -V4 "somedirectory/test.wav" --compression "320.2" "somedirectory/test.mp3"]Result: int(0)


Output: array(0) { }

File was created properly ...

2 Cevap

Eğer ikinci çıkış dizi parametresi geçiyoruz?

http://us2.php.net/manual/en/function.exec.php

string exec ( string $command [, array &$output [, int &$return_var ]] )

output

If the output argument is present, then the specified array will be filled with every line of output from the command. Trailing whitespace, such as \n, is not included in this array. Note that if the array already contains some elements, exec() will append to the end of the array. If you do not want the function to append elements, call unset() on the array before passing it to exec().

Ben pencereler 2>&1 deyimi sevme olmadığı doğru olabilir şüpheli. Denemek zaman ne görüyorsunuz:

$output = array()
echo "Executing: [$path2sox/sox $cmd]";
exec("$path2sox/sox $cmd", $output, $result);
echo "Result: ";
var_dump($result);
echo "\n<br>Output: ";
var_dump(output);