1)我将“wkhtmltopdf-i386”重命名为“wkhtmltopdf”并将“wkhtmltopdf”上传到我的服务器名为“/ usr / local / bin”的文件夹中
2)我在相同的文件夹中上传了php集成脚本,并将其命名为“pdf_class.php”(https://github.com/aur1mas/Wkhtmltopdf/blob/master/Wkhtmltopdf.php)
我将这两个文件上传到“/home/kacmaz/domains/xxx.com/public_html/test_pdf /”
3)我在同一个文件夹中上传了一个名为“test.php”的文件,其中包含:
<?php
include "pdf_class.php";
try
{
$wkhtmltopdf = new Wkhtmltopdf(array('path' =>'/home/kacmaz/domains/xxx.com/public_html/test_pdf'));
//$wkhtmltopdf = new Wkhtmltopdf(array('path' => APPLICATION_PATH . '/../public/uploads/'));
$wkhtmltopdf->setTitle("Title");
$wkhtmltopdf->setHtml("http://www.google.com");
$wkhtmltopdf->output(Wkhtmltopdf::MODE_DOWNLOAD, "myfile.pdf");
}
catch (Exception $e)
{
echo $e->getMessage();
}
?>
它将“779753975.html”“749335291.html”等文件创建到“/home/kacmaz/domains/xxx.com/public_html/test_pdf/”(文件为21个字节,并写入“http:// www .google.com“文件内”
但它给出了这个错误
WKHTMLTOPDF未返回任何数据
并且没有pdf文件, 我该如何解决这个问题?
答案 0 :(得分:1)
我现在无法真正复制环境,但我建议尝试替换
$wkhtmltopdf->setHtml("http://www.google.com");
与
$wkhtmltopdf->setHtml("<h1>This Is A Test</h1><p>Ponies</p>");
看看它产生了什么。听起来好像正在生成一些临时文件,并且setHtml将它的内容写入临时文件,并且正在基于这些文件生成pdf,这就是为什么你没有数据,因为它实际上不是HTML内容。
此外,由于始终在命令行中测试具有类似内容的内容以查看其是否有效,因此可能会消除一些问题。