2013-10-16 102 views
0

我的路徑有問題。我在Windows上,我想用shell_exec來創建PDF文件。shell_exec和wkhtmltopdf

這一個不起作用。

$cmd = 'wkhtmltopdf --cookie PHPSESSID q76abf3752tvttqds9qid1ca54 --print-media-type "http://localhost/al60/index.php?id=46&contr=dealer&event=loanrequests_details" "C:\Users\Bapt\AppData\Local\Temp/download_pdf_1381962017.pdf"'; 
$output = shell_exec($cmd); 

這一個工程。

$cmd = '"c:\Program Files (x86)\wkhtmltopdf\wkhtmltopdf.exe" --cookie PHPSESSID q76abf3752tvttqds9qid1ca54 --print-media-type "http://localhost/al60/index.php?id=46&contr=dealer&event=loanrequests_details" "C:\Users\Bapt\AppData\Local\Temp/download_pdf_1381962017.pdf"'; 
$output = shell_exec($cmd); 

我不想把我的可執行文件的路徑,因爲它會在其他計算機上(包括Linux),我只是想使用的名稱,讓運行OS解決的路徑,因爲它在命令行中執行。我在我的Windows機器中爲所有用戶正確設置了路徑環境。

謝謝你的幫助。

+0

在第二個代碼中,你用引號包圍它,在第一個你不可能是這樣嗎? – OBV

+0

nope,我也是這樣做的,並嘗試用「wkhtmltopdf」和「wkhtmltopdf.exe」也沒有工作。在Linux上,我知道我必須爲運行apache的用戶設置路徑,但在Windows上,我不知道該怎麼做。 –

+0

爲什麼不只是查詢$ _SERVER [「SERVER_SOFTWARE」]?並由此作出判斷? – xlordt

回答

1

思前想後,我決定路徑

$output = shell_exec('echo %Path%'); 
$logger->log($output); 

和路徑呼應wkhtmltopdf,我已經添加是不存在。所以我重新啓動了apache,並且它沒有工作,所以我重新啓動了windows並且工作。

好老重新啓動:)