cygwinを介したphp shell_exec()
-
03-07-2019 - |
質問
pdftex
でLaTeXコードをコンパイルするスクリプトを書きました。問題は、 pdftex
がLinux上でのみ実行されることです。
shell_exec()
を使用してこのタスクを達成しています。
LinuxボックスをWebサーバーとして設定する機能は実際にはありません。クライアントコンピューターはありますが、ファイアウォールの背後にあり、制御できません。私は、Apacheとphpを実行しているWindows 2000仮想マシンでSBS 2003を実行している作業サーバーを制御しています。私の知る限り、Windowsに pdftex
をインストールすることはできません。できれば、 shell_exec()
では動作しません。
cygwinでこれを回避する方法はありますか? cygwinにpdftexをインストールしてから、cygwin内で shell_exec()
コマンドを実行するようにphpを構成できます。これが可能であれば、誰かが私を正しい方向に向けることができますか?
また、別の行動方針があるのだろうか。ホスティングを購入する気はありませんが、共有ホスティングプランはアプリをサポートしません。仮想または専用のホスティングプランにする必要があります。余裕がないもの。
解決
pdfTeXは、Cygwinを必要とせずに、Windows上で正常に動作します。 MiKTeX を試してください。
他のヒント
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'");
キーは"-login"です。必要なすべての共通を追加するオプション $ PATHへのcygwinバイナリおよびライブラリパス。このオプションがなければ、 他のライブラリにリンクするcygwinバイナリ(ImageMagickなど X11にリンクするバイナリ)は機能せず、エラーが表示される場合があります " cygX11-6.dllが見つかりません、convert.exeを開始できませんでした"