Php 无法使用DOMPDF生成pdf

Php 无法使用DOMPDF生成pdf,php,dompdf,Php,Dompdf,我有一个php文件,它将两个图像保存到服务器中,并使用dompdf创建保存图像的pdf。我能够将图像保存到特定文件夹中,但无法生成pdf。有人能告诉我我做错了什么吗?这是我的密码 <?php ini_set('display_errors', 1); error_reporting(E_ALL ^ E_NOTICE); $data1 = $_POST['data1']; $data2 = $_POST['data2']; if(isset($data1)) { $uri1

我有一个php文件,它将两个图像保存到服务器中,并使用dompdf创建保存图像的pdf。我能够将图像保存到特定文件夹中,但无法生成pdf。有人能告诉我我做错了什么吗?这是我的密码

<?php

 ini_set('display_errors', 1);
 error_reporting(E_ALL ^ E_NOTICE);
 $data1 = $_POST['data1'];
 $data2 = $_POST['data2'];

 if(isset($data1)) {
 $uri1 =  substr($data1,strpos($data1,",")+1);
 $uri2 =  substr($data2,strpos($data2,",")+1);

 $path =$_SERVER["DOCUMENT_ROOT"].'/divya/custom_product/sites/default/files/cart';
 $id = "test";
 $type ="order";
 $file1 = $path .'/'.$id.'-'.$type.'1.png';
 $file2 = $path .'/'.$id.'-'.$type.'2.png';

 $a=base64_decode($uri1);
 $b=base64_decode($uri2);

 file_put_contents($file1, $a);
 file_put_contents($file2, $b);
 }
 ?>
 <?php
 require_once("dompdf_config.inc.php");
 require_once("sites/all/modules/print/lib/dompdf/dompdf_config.inc.php");


 $tbl = '<html style="margin:20px 20px 0px; padding:0;">
 <body style="margin:0; padding:0;">

 <table style="margin:0px 0px 5px 3px;">
 <tr>
 <td style="width:220px;vertical-align:top;">'.$file1.'</td>
 <td style="width:220px;vertical-align:top;">'.$file2.'</td>
 </tr>
 </table>

 </body>
 </html>';
 $dompdf = new DOMPDF;
 $dompdf->load_html($tbl);
 $dompdf->render();
 $pdfoutput = $dompdf->output();
 //  Checks whether there is an output folder inside sites/default/files
 if (!is_dir('public://output')) {
 mkdir("public://output", 0777);
 //  Creates a folder and changes its permissions}
 $filename = 'sites/default/files/output/' . 'sample.pdf'
 $fp = fopen($filename, "w+");
 fwrite($fp, $pdfoutput);
 //  Writes the pdf output to a file
 fclose($fp);
 ?>


您是否启用了错误日志记录?很多时候,错误日志会准确地告诉您错误所在

在浏览DOMPDF wiki之后,我意识到默认的操作模式是将文件流回到客户端,而不一定将其保存到文件中。于是我又开始四处挖掘


以前被贴过;他们使用与您类似的代码,但使用更简单的文件\u put\u contents()来编写文件。仍然值得尝试先在该位置编写一个简单的文本文件,以排除任何文件系统问题。

您在创建DOMPDF类时缺少了偏执:

$dompdf = new DOMPDF();

这是一条评论,不是回答,所以这里没有错误/崩溃,只是没有PDF,你希望在哪里?$pdfoutput看起来像什么?它看起来像PDF内容还是空的?另外,您正在写入的路径看起来是相对的,您确定可以从PHP工作目录中访问吗?您是否在任何js中调用了此代码?@killthrush我有一个js文件,其中显示了我在2画布中提到的2个图像。然后通过ajax将图像发布到php以保存到服务器。我已经在问题中显示了上面的代码,图像作为data1和data2接收并保存到服务器。这一切都发生了,没有错误,但我无法生成这些图像的pdf。@Aby您能确认您可以使用PHP将一个简单的文本文件写入到您试图写入pdf的同一位置吗?如果可以,则排除任何权限或路径问题。是否仍有问题(未选择答案)?如果是这样的话(如果你还在使用dompdf),你有PDF文件吗?一个潜在的问题是您两次包含dompdf_config.inc.php(我不认为这会导致失败,但我现在不记得了)。此外,您在HTML中包含图像路径,而不是将其作为图像引用。文档在这一点上保持沉默,尽管这在PHP中似乎不是必需的(除非构造函数使用参数)。这件事上有很多问题。