我正在编写一个填写pdf模板的程序(使用fpdf),然后捕获截图以预览给用户。
Imagemagick似乎需要文件系统中的现有文件来捕获预览图像,这意味着我需要将pdf保存到目录。
我按照指示(在此处找到:Cannot Save File to directory using FPDF)更改了文件夹的权限,使我能够写入目录,但每当我运行我的php页面时,我得到:
我有755作为默认权限,因为我只是测试而且这个文件夹不是特别关键任务我试图改为777。
500 Server Error
A misconfiguration on the server caused a hiccup. Check the server logs, fix the problem, then try again.
URL: *Full URL*
Dangerously writable: [*File path on server*]
FIXED
我检查了该错误后的文件夹,并且权限恢复为755并且没有error_log文本文件,所以我不知道如何调试这个,因为google显示服务器错误500是一个通用的捕获所有。
托管服务是bluehost.com
以下是代码:
<?php
// Library imports
require_once(dirname(__FILE__)."/lib/fpdf/fpdf.php");
require_once(dirname(__FILE__)."/lib/fpdi/fpdi.php");
// End of imports
//OpenCnxn
mysql_connect(*the approrpiate stuff*) or die(mysql_error());
mysql_select_db(*the appropriate stuff*) or die(mysql_error());
//Query DB and calculate number of rows
$query = "Select ProfilePicture from Users where UserID = 1";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
$filename = "template.pdf";
$pdf = new FPDI();
$pdf->AddPage();
// import the template PFD
$pdf->setSourceFile($filename);
// select the first page
$tplIdx = $pdf->importPage(1);
// use the page we imported
$pdf->useTemplate($tplIdx);
//Image insertion
for($i=0;$i<$num_results;$i++){
$row = mysql_fetch_array($result);
$pdf->Image(htmlspecialchars(stripslashes($row['ProfilePicture'])), 13, 13, 35, 25);
}
$pdf->Output('testdocument.pdf', 'F');
当权限在755上并且最后一行更改为下载而不是文件保存时,上面的代码按预期工作,即:
$pdf->Output(); //OR
$pdf->Output('testdocument.pdf', 'D');
答案 0 :(得分:0)
使用托管IT进行双重检查。
此类消息正在发生,因为已在根级别禁用更改为高于755的任何权限级别。
感谢您的耐心等待。