3

Centosサーバーにwkhtmltopdfをインストールしました。シェルではすべてが正常に機能します。シェルでコマンドを送信しようとすると、次のようになります。

/usr/local/bin/wkhtmltopdf http://www.google.it /var/www/html/test_report.pdf

または単に

wkhtmltopdf ... /var/www/html/test_report.pdf

すべてがうまくいきますが、phpスクリプトでexecコマンドを使用すると、同じことが機能しません。

exec("/usr/local/bin/wkhtmltopdf http://www.google.it /var/www/html/test_report.pdf");

0777でhtmlフォルダーのを変更しましたchmodが、access.logに次の応答があります。

[08 / Oct / 2012:17:11:18 +0200] "GET test_report.php HTTP / 1.1" 200 311 "-" "Mozilla / 5.0(Windows NT 6.1; rv:15.0)Gecko / 20100101 Firefox / 15.0.1 「」

同じスクリプトがWindows2003サーバーで正常に機能します。

このエラーを回避する方法はありますか?ありがとうございました。

4

2 に答える 2

0

SELinuxがそれをブロックしている可能性が高いです。私は一度同じ問題を抱えていました。

SELinuxを無効にしないでください(これは悪い考えです/怠惰な人がそれを「修正」する方法です)が、audit2allow代わりにツールを使用して、変更する必要のあるコンテキスト/SELinuxブール値を把握してください。

詳細については、 http://wiki.centos.org/HowTos/SELinux#head-faa96b3fdd922004cdb988c1989e56191c257c01を参照してください。

于 2012-10-08T15:34:37.207 に答える
0

私の場合、問題はSELinuxでした(@Oldskoolが彼の答えを述べたように)。exec出力には情報しかありませんでしたPROT_EXEC|PROT_WRITE failed.

私が実行した問題を解決するために:

setsebool httpd_execmem on

私はgroups.google.comでこの解決策を見つけました

于 2015-10-15T11:50:17.727 に答える