ユーザー apache で php exec 関数を使用して次のコマンドを実行できません。
exec('/usr/bin/libreoffice --headless --convert-to pdf --outdir /var/www/html/ /var/www/html/coverpage.doc');
OS:CentOS 6.4ファイナル
ヘルプや提案は非常に高く評価されます。ありがとう
ユーザー apache で php exec 関数を使用して次のコマンドを実行できません。
exec('/usr/bin/libreoffice --headless --convert-to pdf --outdir /var/www/html/ /var/www/html/coverpage.doc');
OS:CentOS 6.4ファイナル
ヘルプや提案は非常に高く評価されます。ありがとう
最初に、/var/www フォルダーに与えられた許可を確認します。apache:apache
の所有者として与え/var/www/
ます。
libreoffice ヘッドレス パッケージがインストールされていない場合は、以下のコマンドを使用してインストールします。
sudo yum install openoffice.org-headless
これはcentOSでうまくいきました。
まず、コマンドに絶対パスを指定して試してみます。
libreoffice バイナリが機能しないのではないかと思います。soffice バイナリを見つけて、それが機能するかどうかを確認する必要があります。
次に、 --convert-to pdf では不十分です。次のようにする必要があります。
--convert-to pdf:writer_pdf_Export
次に、システムで LibreOffice GUI インスタンスがすでに稼働している場合、コマンドは機能しません。この追加パラメーターをコマンドに追加します。
"-env:UserInstallation=file:///tmp/LibreOffice_Conversion_${USER}"
また、指定した --outdir /pdf が存在し、書き込み権限があることを確認してください。または、別の出力ディレクトリを使用してください。最初のテストとこのデバッグ ラウンドのためだけであっても:
$ mkdir ${HOME}/lo_pdfs
これは、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