Bir Windows Server'da XAMPP kullanıyorum (artık ofiste değil, yarın kesin sürümü de ekleyeceğim). Bugün bu çok garip davranışa rastladım: Programları çalıştırmak için exec()
'u kullanırken bazı komutlar işe yaramaz, diğerleri bunun için herhangi bir sebep göstermeden başarısız olur.Neden exec() boş mesaj dizeleriyle başarısız oluyor?
//working as well
exec("C:\some_path\wkhtmltopdf.exe --help", $output, $retval);
//$retval = 0;
//$output = array with lines from the help-file
ama en kısa zamanda bu biraz daha karmaşık hale geldikçe, başarısız:
//working
exec("dir", $output, $retval);
//$retval = 0;
//$output = array with response-lines
Benim wkhtmltopdf.exe ile de iş gibi görünüyor
//not working
exec("C:\some_path\wkhtmltopdf.exe C:\other_path\test.html C:\target_path\test.pdf", $output, $retval);
//$retval = 1;
//$output = array with 11 empty strings ?!?!
Tam olarak aynı dizeyi sunucu makinesine kopyaladığımda wi th rdp, ve windows-shell (cmd) içinde kullanın, işe yarıyor.
Neler olup bittiği hakkında hiçbir fikrim yok - 11 tane boş dizeyle bir dizi geri almam çok tuhaf.
Yardımlarınız ve önerileriniz için teşekkür ederiz!
0'a eşit olmayan her dönüş değeri ('$ retval ') hata olarak değerlendirilmelidir. –
@CharlotteDunois evet biliyorum. ve biliyorum ki bir hatam var - ama hangi hatayı aldığımı bilmiyorum - sorun bu. Öneriniz için –