$ pdf-> setSourceFile()上的500内部服务器错误

时间:2016-08-26 17:17:16

标签: php eloquent fpdf fpdi

我想将png-image添加到现有的pdf文件中。 因此,我正在尝试将FPDI / FPDF集成到我的项目中,该项目基于ELOQUENT的SLIM框架。

FPDI / FPDF与作曲家(composer require setasign/fpdi-fpdf)一起添加。

我在浏览器中直接打开的单个php文件(“pdf_test.php”)中成功测试了以下代码:

require_once('../vendor/setasign/fpdf/fpdf.php');
require_once('../vendor/setasign/fpdi/fpdi.php');

$pdf = new FPDI();
$filename = '1005236946.pdf';
$pageCount = $pdf->setSourceFile($filename);
$templateId = $pdf->importPage(1);
$pdf->useTemplate($templateId);
$pdf->Image('9959544245.png',268,184,20, 'PNG');
$pdf->Output('F', '1005236946_PNG.pdf');

但是当我在SLIM路由(“/ php_test”)中使用此代码时,此时我收到“500内部服务器错误”:

$pageCount = $pdf->setSourceFile($filename);

我已经检查过$ pdf-object创建得很好。

我在网上搜索但到目前为止没有找到任何可以提供帮助的内容。 也许它必须对Apache Server和.htaccess文件做些什么......?

非常感谢任何帮助: - )

1 个答案:

答案 0 :(得分:0)

  

error_log:PHP警告:require(../ app / models / pdf_parser.php):

这意味着自动加载实现不会检查文件是否存在而只需要它。由于这种奇怪的实现,在一个不存在的类上进行简单的class_exist()调用(这里就是这种情况)会产生这个错误。

所以修复自动加载实现或单独要求解析器:

private void saveToolStripButton_Click(object sender, EventArgs e)
{
    changes = ds.GetChanges(); // DatSet changes is in model but i must access here but dont know how

    if (changes != null)
    {
        int updatedRows = dataAdapter.Update(changes); // Adapter is in model and i need him here 
        ds.AcceptChanges();
    }
}

另外,我不确定为什么你需要手动编写脚本以及为什么不使用composer的自动加载器。 (不会改变行为,但会更有意义)