• 締切済み

libreofficeでPDF変換ができません

libreofficeにてExcelファイルをPDF変換する際に、下記エラーが発生してしまいます。 ------------------------------------- [Java framework] Error in function createSettingsDocument (elements.cxx). javaldx failed! Warning: failed to read path from javaldx mkstemp("/root/.execoootRFFds") failed: Permission denied [Java framework] Error in function createSettingsDocument (elements.cxx). javaldx failed! Warning: failed to read path from javaldx mkstemp("/root/.execoooEZhNit") failed: Permission denied ------------------------------------- <?php $file_from = '/var/www/html/xls/test.xls'; $file_outdir = '/var/www/html/pdf/; $command = 'libreoffice --headless -convert-to pdf ' . $file_from . ' -outdir ' . $file_outdir; exec ($command); ?> ↑ファイル名:/var/www/html/test.php 上記ファイルを以下のようにroot権限のコマンドラインで実行した場合は問題無く実行出来ます。 php /var/www/html/test.php /var/www/html/はWEB公開ディレクトリとして、 WEB上で同じファイルにアクセスすると、エラーとなってしまいます。 原因としては、mkstemp を /root 配下に対して実行しているからだと思われますが、 これを、/root 配下以外で実行するようにする設定をどこで行えばよいか教えて頂けないでしょうか? 恐れ入りますが、何卒よろしくお願い致します。

みんなの回答

  • jtk4849
  • ベストアンサー率21% (21/97)
回答No.1

例として、他のファイルでは正常に出来ますか? エラーを読んでみましたが、読み込みに失敗したと書いてありますよ。 権限などでエラーは起きていないと思います。

chic_punk
質問者

お礼

ご回答ありがとうございます! HTTP経由ではなく、SSH上で直接(root権限で)実行すると成功します。

chic_punk
質問者

補足

visudo で sudo コマンドの権限編集を行い、対応する事で解決致しました。 ありがとうございました。 Defaults:apache !requiretty apache ALL=(ALL) NOPASSWD: /var/www/html.hoge.php, /usr/bin/libreoffice