1

ユーザー apache で php exec 関数を使用して次のコマンドを実行できません。

exec('/usr/bin/libreoffice --headless --convert-to pdf --outdir /var/www/html/ /var/www/html/coverpage.doc');

OS:CentOS 6.4ファイナル

ヘルプや提案は非常に高く評価されます。ありがとう

4

3 に答える 3

1

最初に、/var/www フォルダーに与えられた許可を確認します。apache:apacheの所有者として与え/var/www/ます。

libreoffice ヘッドレス パッケージがインストールされていない場合は、以下のコマンドを使用してインストールします。

sudo yum install openoffice.org-headless

これはcentOSでうまくいきました。

于 2013-11-14T04:43:20.047 に答える
0
  1. まず、コマンドに絶対パスを指定して試してみます。

  2. libreoffice バイナリが機能しないのではないかと思います。soffice バイナリを見つけて、それが機能するかどうかを確認する必要があります。

  3. 次に、 --convert-to pdf では不十分です。次のようにする必要があります。

    --convert-to pdf:writer_pdf_Export

  4. 次に、システムで LibreOffice GUI インスタンスがすでに稼働している場合、コマンドは機能しません。この追加パラメーターをコマンドに追加します。

    "-env:UserInstallation=file:///tmp/LibreOffice_Conversion_${USER}"

  5. また、指定した --outdir /pdf が存在し、書き込み権限があることを確認してください。または、別の出力ディレクトリを使用してください。最初のテストとこのデバッグ ラウンドのためだけであっても:

    $ mkdir ${HOME}/lo_pdfs

  6. これは、LibreOffice v4.4.3.2 を搭載した Mac OS X Mavericks 10.9.5 で機能します (とにかく、あなたにとっては異なるバイナリ soffice の特定のパスを使用します...)。

    /path/to/soffice                                                     
    

    --headless

    "-env:UserInstallation=file:///tmp/LibreOffice_Conversion_${USER}"

    --convert-to pdf:writer_pdf_Export

    --outdir ${HOME}/lo_pdfs path/to/test.docx

これが機能しない場合は、この回答を試してください Command `libreoffice --headless --convert-to pdf test.docx --outdir /pdf` is not working

于 2015-11-03T10:47:49.657 に答える