RTFファイルを取得し、OpenOfficeマクロを使用してPDFに変換するバッチファイルをPHPに呼び出させようとしています。コマンド ラインでバッチ ファイルをテストしたところ、正常に動作しましたが、PHP から同じバッチ ファイルを呼び出して使用することができませんでした。
私のマシンの OS は XP Professional SP 3 です。IIS 6 と PHP バージョン 5.2.9 を実行しています。c:\windows\system32\cmd.exe でインターネット ユーザーに実行権限を付与しました。実行中のバッチファイルのフルパスと、変換するRTFファイルのフルパスを指定しました。
PHP は次のようになります。$arg は変換する RTF です。
$arg = "C:\\web_root\\whatever\\tempOutput.rtf";
$command = "c:\\windows\\system32\\cmd.exe /c c:\\web_root\\whatever\\convert.bat $arg";
次に、try-catch 内で exec コマンドを呼び出します。
exec("$command 2>&1 && exit", $ret, $err);
キャッチ後に結果をエコーします。
echo "ret: ";
print_r ($ret);
print "<br>";
echo "err is ";
echo $err;
print "<br>";
echo "DONE!";
そして、これは私が見るものです:
ret: Array ( )
err is 0
DONE!
RTF ファイルが変換されず、エラーが表示されません。次に試すことができるアイデアはありますか?ありがとう!!!