2009-01-05 98 views
2

我寫了一個腳本,通過pdftex編譯LaTeX代碼。麻煩的是pdftex只能在linux上運行。php shell_exec()通過cygwin

我正在使用shell_exec()完成此任務。

我真的沒有能力設置一個Linux機器作爲Web服務器。我有我的客戶端計算機,但它位於我無法控制的防火牆後面。我確實擁有運行SBS 2003的工作服務器的控制權,該服務器使用運行apache和php的Windows 2000虛擬機。據我所知,您不能在Windows中安裝pdftex,如果可以的話,它將不適用於shell_exec()

有沒有辦法用cygwin解決這個問題?我可以在cygwin中安裝pdftex,然後配置php在cygwin中運行shell_exec()命令。如果這是可能的,有人可以指出我正確的方向嗎?

此外,我想知道是否有另一種行動。我不介意購買託管服務,但任何共享託管計劃都不會支持該應用。它必須是一個虛擬或專用主機計劃;我買不起的東西。

回答

2

pdfTeX在Windows上運行得很好,不需要Cygwin。嘗試MiKTeX

+0

謝謝!我不得不稍微更改代碼,但這是我需要的信息。 – objectivesea 2009-01-05 21:53:54

3

對於任何人誰想知道通過Cygwin的運行shell_exec(),看看這個鏈接註釋PHP手冊:

http://us.php.net/manual/en/function.shell-exec.php#68647

$result = shell_exec("C:\cygwin\bin\bash.exe --login -c '/cygdrive/c/cygwin/bin/convert.exe --version'"); 

的關鍵是「 - 登錄「選項,它將所有必需的常見 cygwin二進制和庫路徑附加到$ PATH。如果沒有這個選項,一些 鏈接到其他庫的cygwin二進制文件(如ImageMagick 鏈接到X11的二進制文件)將不起作用,您可能會看到類似「找不到cygX11-6.dll,無法啓動convert.exe」的錯誤 。