2012-01-18 11 views
0

私はlibreOfficeでubuntuを使用しています。 *.odpファイルを*.pdfに変換するためにunoconvをインストールしました。ターミナルからコマンドunoconv -f pdf myfile.odpを実行すると、非常にうまく動作します。私はPHPのshell_exec()メソッドを使用して同じことをしたい。だから、私は次のコードを書いた:ubuntuのPHP shell_exec()

$output = shell_exec('unoconv -f pdf test.odp 2>&1'); 
echo $output; 

をしかし、それは次のようなエラーが表示されます。

/usr/bin/python: /opt/lampp/lib/libz.so.1: no version information available (required by /usr/bin/python) 
Traceback (most recent call last): File "/usr/bin/unoconv", line 24, in import uno, 
unohelper File "/usr/lib/python2.7/dist-packages/uno.py", line 34, in import pyuno SystemError: dynamic module not initialized properly 

どのように私はこの問題を解決することができますか?

ありがとうございます。

+0

端末で 'unoconv -f pdf test.odp 2>&1'を実行すると、同じエラーが表示されますか? –

+0

$ output = shell_exec( 'env && unoconv -f pdf test.odp 2> &1'); echo $ output;シェルのenv –

+0

@EduardLucaと比較してください。ただし、 'unoconv -f pdf test.odp'は端末でうまくいきますPHPの 'unconv -f pdf test.odp'で何も表示されません。 –

答えて

1

私にとっても同じエラーですが、exec()で実行すると、別のエラーが表示されます。

また、ApacheのHTTPDは、その背後にある主な問題であるユーザーnobodyとして実行されます。 rootユーザーが実行できる場合、問題は解決されます。

関連する問題