与php集成的wkhtmltopdf无法在Centos上运行(访问拒绝)

时间:2012-10-08 15:30:32

标签: php centos wkhtmltopdf

我在Centos服务器上安装了wkhtmltopdf。 shell中的一切都运行良好。如果我尝试在shell中发送命令:

/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   火狐/ 15.0.1"

相同的脚本在Windows 2003服务器上运行良好。

有没有办法解决这个错误? 谢谢。

2 个答案:

答案 0 :(得分:0)

SELinux最有可能阻止它,我曾经遇到过同样的问题。

不要禁用SELinux(这只是一个坏主意/懒人"修复"它),但使用audit2allow工具而是要弄清楚需要改变哪些背景/ SELinux布尔值。

有关详细信息,请参阅http://wiki.centos.org/HowTos/SELinux#head-faa96b3fdd922004cdb988c1989e56191c257c01

答案 1 :(得分:0)

在我的情况下,问题是SELinux(正如@Oldskool提到他的回答)。在exec输出中,只有信息PROT_EXEC|PROT_WRITE failed.

要解决我遇到的问题:

setsebool httpd_execmem on

我在groups.google.com

找到了这个解决方案