我一直在尝试设置这个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);