TCPDF服务器500错误-需要PHP中的详细错误


TCPDF server 500 error - want a detailed error in PHP

我一直在尝试设置这个php.pdf脚本。我从网站上下载了代码,并从该页面按原样上传[https://sourceforge.net/projects/tcpdf/files/][1]

它一直工作到以$pdf开头的行-我添加了echo$filename行,看看我是否能看到错误(在这个网站上找到的一个想法-页面显示1hello-我认为这可能意味着require_one工作正常。

    <?
// Include the main TCPDF library (search for installation path).
$filename = require_once('../tcpdf/examples/tcpdf_include.php');
echo $filename.'hello';
exit;
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false, true);

等等。等

如果我删除$filename=和echo/exit行(如下),我会得到一个通用的服务器500错误——有什么想法可以得到我可以实际使用的详细错误吗?我可以在其他页面上看到详细的错误。

    <?
// Include the main TCPDF library (search for installation path).
require_once('../tcpdf/examples/tcpdf_include.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false, true);

等等。等

EDIT:通过添加ini_set('display_errors',1)发现错误;到页面-错误为致命错误:找不到类"TCPDF"。。。第31行

第31行是指:

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

如果我查看tcpdf_include.php include文件,它会显示一些代码,这些代码引用了一些我认为我的服务器没有的文件:

$tcpdf_include_dirs = array(
realpath('../tcpdf.php'),
'/usr/share/php/tcpdf/tcpdf.php',
'/usr/share/tcpdf/tcpdf.php',
'/usr/share/php-tcpdf/tcpdf.php',
'/var/www/tcpdf/tcpdf.php',
'/var/www/html/tcpdf/tcpdf.php',
'/usr/local/apache2/htdocs/tcpdf/tcpdf.php' );

/usr/share/php/为空。我想我应该把tcpdf.php文件放在所有这些位置,或者这无关紧要&我没有抓住要点?

您可以在web服务器(Apache?)日志中找到详细的500服务器错误。日志的位置取决于您的操作系统/安装。

您收集得很好:1hello表示所需文件已正确加载。您不需要检查它,因为如果require/require_once失败,您将得到一个致命错误,并且脚本将终止。

如果你能追踪服务器错误日志,你可能会看到这样的东西:

致命错误:找不到类"TCPDF"

因为tcpdf/examples/tcpdf_include.php旨在与所提供的示例一起使用,并且只有当主URL(或当前目录,如果您通过命令行执行脚本)在同一目录中时,它才能正确工作。

要加载TCPDF类,您必须使用

require_once( '../tcpdf/tcpdf.php' );

但我建议你指出绝对路径。

这些TCPDF构造函数不存在。你在末尾添加了一个布尔变量,这是不允许的

以下更好:

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);