简体   繁体   中英

wkhtmltopdf integrated with php doesn't work on Centos (access deny)

I installed wkhtmltopdf on my Centos server. Everything works fine in the shell. If I try to send the command in the shell:

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

or simply

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

everything goes well, but the same is not working if i use the exec command in a php script:

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

I changed the chmod of the html folder in 0777, but in the access.log I have the following response:

[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"

The same script works fine on a windows 2003 server.

Is there a way to get around this error? Thank you.

Most likely SELinux is blocking it, I had the same issue once.

Don't disable SELinux (that's just a bad idea/the lazy man's way to "fix" it), but use the audit2allow tool instead to figure out what context/SELinux booleans need to be altered.

See http://wiki.centos.org/HowTos/SELinux#head-faa96b3fdd922004cdb988c1989e56191c257c01 for more details.

In my case the problem was SELinux (as @Oldskool mentioned his answer). In exec output there was only information PROT_EXEC|PROT_WRITE failed.

To resolve the problem I ran:

setsebool httpd_execmem on

I found this solution at groups.google.com

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM