CentOS マシンに LibreOffice RPMS (3.5.3 と 3.4.6 の両方を試しました) をインストールしました。LibreOffice を呼び出すシェル スクリプトを PHP で実行しようとしています。シェル スクリプトでは、次の行を実行します。
/opt/libreoffice3.4/program/soffice --headless -convert-to $extension.pdf "$1" -outdir $folder
ただし、このコマンドを実行すると、次のメッセージが表示されます。
./createpdf.sh: line 8: /opt/libreoffice3.4/program/soffice: Permission denied
ライン自体は問題ありません。エコーして SSH で手動で実行すると、正常に動作します。これは、異なる権限を持つ別のユーザー (注: インストールしたユーザーや root としてではなく) として実行しているためである可能性が最も高いです。
私は絶望的でしたが、すでに libreoffice フォルダー全体を 777 に chmod して、「apache」ユーザーを所有者にしようとしました。そこには運がありません。なぜApacheに実行させないのか、どうすればこれを解決できるのか、誰にも手がかりがありますか?