5

.odfへのファイルのエクスポートを自動化したいと考えています.pdf

unoconvというものを試しました。

Windows コマンド プロンプトに入力すると、すべてが正しく表示されます。

>"C:\Program Files (x86)\OpenOffice 4\program\python.exe" "C:\Program Files (x86)\OpenOffice 4\program\unoconv-master\unoconv" -f pdf path/to/myfile.odt

PHP スクリプトで使用すると、何も機能しなくなります。エラーは表示されません。

exec('"C:\Program Files (x86)\OpenOffice 4\program\python.exe" "C:\Program Files (x86)\OpenOffice 4\program\unoconv-master\unoconv" -f pdf path/to/myfile.odt');

//or

shell_exec('"C:\Program Files (x86)\OpenOffice 4\program\python.exe" "C:\Program Files (x86)\OpenOffice 4\program\unoconv-master\unoconv" -f pdf path/to/myfile.odt')

また、エスケープし\たり、'and を"別の方法で使用したりしようとしましたが、決定的なテストはありませんでした。

$test = exec($cmd, $output, $return);
echo var_dump($test);
echo var_dump($output);
echo var_dump($return);

ください

//echo var_dump($test)give nothing

//echo var_dump($ouput);
array (size=0)
  empty

//echo var_dump($return);
int 1

これはアクセス許可の問題のように聞こえますが、これも確認したところ、すべてのフォルダーが PHP でアクセス可能です。

4

2 に答える 2

0

代わりにこれをコメントとして追加しますが、十分な担当者がいません...

WAMP サーバーから IIS に変更したときにこの問題が発生しました。あなたが言ったように、それはアクセス許可の問題でした。それを実行するには、「IUSR」ユーザーと「IIS_IUSRS」グループに完全なアクセス許可を与える必要がありました。

後で似たようなことに遭遇し、IIS を実行するユーザーを管理者に変更することにしたと思いますが、これはおそらくお勧めできません。

もちろん、これは IIS を使用していない場合は関係ありませんが、他の誰かが使用している場合に備えて、ここに残しておきます。

于 2015-12-14T11:52:17.897 に答える