内部服务器错误读取文件

时间:2015-08-24 16:33:28

标签: php zend-framework

我有一个打开pdf文件的视图脚本,如下所示:

<?php
$this->title = 'arbeitskalender';
//ini_set('display_errors',1);
header('Content-Type:application/pdf');
header('Content-Disposition', 'attachment; fileName=arbeitskalender.pdf');
readfile('./pdfs/arbeitskalender.pdf');
?>

在我的localhost(wamp-server)上运行良好,文件打开没有任何错误,上传到我的网站空间(不是我自己的服务器,只有一个网站空间)我得到了

  

内部服务器错误

问题是什么?是否有可能获得更多信息的错误消息?因为它不是我的服务器,所以我无法查看服务器日志。

3 个答案:

答案 0 :(得分:2)

是的,很多:

  • 检查开发人员栏中的网络标签。最后,在脚本中关闭(用//开始标题行)标题以查看错误消息(用于调试)
  • 检查框架的日志文件(如果使用)
  • 检查您的应用程序是否可以写入日志条目
  • 启用并显示错误(请参阅Showing all errors and warnings
  • 检查php是否可以读取文件(权限和文件的存在)
  • 检查您是否仅在此页面上收到内部服务器错误

期待你的剧本:

  • 这是什么?我没有看到课程定义
  • 可以php找到文件吗?

答案 1 :(得分:0)

检查./pdfs/arbeitskalender.pdf权限。我想这对apache用户

来说是不可读的

答案 2 :(得分:0)

我检查了你的所有建议,我学到了更多,但无法解决问题。我找到了另一个不使用readfile的codenippet,到目前为止这个工作正常。

<?php
require_once 'Zend/Pdf.php';

header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename=arbeitskalender.pdf');
header('Cache-Control: private, max-age=0, must-revalidate');
header('Pragma: public');
ini_set('zlib.output_compression','0');
echo file_get_contents("./pdfs/arbeitskalender.pdf");

?>
<html>
<body>