Đã có một vài chủ đề tương tự như tôi, nhưng chúng không giúp tôi. Có lẽ một cái gì đó mới sẽ xuất hiện.Thực hiện wkhtmltopdf từ PHP không thành công
Sự cố: Tôi không thể thực thi biểu mẫu wkhtmltopdf PHP. mã cơ bản của tôi là: exec('wkhtmltopdf http://somesite.com /home/user/file.pdf');
Bây giờ một vài điều tôi đã kiểm tra:
- thức hoạt động của lệnh tương tự khi thực hiện từ giao diện điều khiển
- safe_mode bị vô hiệu hóa - Tôi có thể thực hiện các lệnh trong PHP, ví dụ
exec('ls');
hoạt động tốt - đường dẫn đến wkhtmltopdf có thể được tìm thấy và tôi có thể tự chạy chương trình, ví dụ
exec('wkhtmltopdf -V');
hoạt động tốt và xuất ra thông tin phiên bản - đường dẫn đầu ra có thể ghi, nó có 777 quyền và
exec('wkhtmltopdf -V > /home/user/file.pdf');
hoạt động tốt, tạo tệp và đặt thông tin phiên bản bên trong - thực hiện từ PHP có quyền truy cập internet, ví dụ
exec('wget -O /home/user/file.pdf http://somesite.com')
hoạt động tốt, truy xuất nguồn trang web và đưa nó vào tệp - thay thế exec với passthru, shell_exec, vv làm cho không có sự khác biệt
Kết luận: tôi có thể thực hiện wkhtmltopdf, tôi có thể truy cập internet, tôi có thể viết các tập tin cụ thể, nhưng một lệnh chuyển đổi chính xác không và trả về tình trạng 1 .
Tôi sử dụng phiên bản Ubuntu mới nhất, Phiên bản PHP là 5.3.10-1ubuntu3, phiên bản wkhtmltopdf là 0.9.9. Tôi đã thử nó trên một số máy khác với cùng một lỗi.
Bất kỳ ý tưởng nào (chỉ là BẤT K)) sẽ được đánh giá cao!
Sự cố được giải quyết. Đó là một vấn đề phổ biến xảy ra khi bạn cài đặt wkhtmltopdf qua apt-get. Tôi phải xóa nó và tải xuống trực tiếp từ code.google.com/p/wkhtmltopdf. Bây giờ nó hoạt động. – Krzychu