Şu anda WKHTMLTOPDF komut satırı uygulamasını kullanarak PDF belgeleri oluşturur PHP bir sınıf inşa ediyorum.
Bunu yapmak için, ben wkhtmltopdf yürütülebilir aramak için shell_exec çağrısı kullanıyorum. Ancak, bu çağrı yürütülecek görünmüyor; neredeyse anında NULL döndürür.
Ben yaptım küçük bir test bana şu sonuçları verdi:
var_dump(shell_exec('ping nu.nl'));
// This prints a string, containting the expected output of the ping command
var_dump(shell_exec('"c:/wkhtmltopdf/wkhtmltopdf.exe" --orientation "Landscape" --page-size "A2" --margin-top "25mm" --margin-left "20mm" --margin-bottom "20mm" --margin-right "20mm" "http://www.nu.nl/" "C:/Temp/1280310218.pdf"'));
// This prints NULL
Yani, shell_exec() de safe_mode kapalı, çalışıyor gibi görünüyor, ve does düzgün komutunu çalıştırın cmd.exe içine tam komutunu yapıştırarak.
Sorun yukarıdaki (güvenli mod, hatalı bir komut veya shell_exec() kendisi) ya değilse başka ne olabilir? Ben düşünmek tüm kullanıcı hakları sorunu olduğunu, ama öyle yürütülebilir ve dizin hem benim sistemde her kullanıcı grubu için tam erişim ayarları vardır.
(Not: Ben bir Windows makine üzerinde geliştiriyorum rağmen, bu kod üretimde bir Linux sunucu üzerinde çalışacak tabii bu sorunu kendisi ile ilgili olarak ortaya çıkıyor sürece Dolayısıyla, windows-tek çözüm, ben arıyorum ne değildir. pencere)