【问题标题】:Failed to open stream: Permission denied using fpdf无法打开流:使用 fpdf 拒绝权限
【发布时间】:2016-04-23 18:26:01
【问题描述】:

在 ubuntu linux apache 服务器中使用 fpdf 类时,我收到了上述警告。然后出现致命错误:

未捕获的异常“异常”并带有消息“FPDF 错误:无法 创建输出文件:result.pdf' in /opt/lampp/htdocs/website/fpdf.php:271 堆栈跟踪:#0 /opt/lampp/htdocs/website/fpdf.php(1022): FPDF->Error('无法 创建...')#1 /opt/lampp/htdocs/website/generate.php(185): FPDF->Output('result.pdf', 'F') #2 {main} 抛出 /opt/lampp/htdocs/website/fpdf.php 在第 271 行

【问题讨论】:

  • 你检查文件权限了吗?
  • 实际上,我认为没有什么比许可更重要的了。有一个输出选项,我的错误已被恢复。我已将 'F' 更改为 'D' 在 pdf->output
  • 那是因为选项D不涉及文件系统

标签: php fpdf


【解决方案1】:

我通过在我的 PHP 文件中执行以下操作解决了这个问题:

$pdf->Output('result.pdf', 'D');

$pdf 是我的 FPDF 类的对象。我将参数设置为'D',这会强制使用提供的名称下载文件。

【讨论】:

  • 您实际上是在回答您的问题,还是对您原始帖子的编辑?如果只是附加信息,请将其删除并编辑问题。
  • 不,实际上我已经得到了我的问题的答案。
  • @Celeritas 我正在学习我的英语并努力提高它。
【解决方案2】:

听起来像是权限问题。无论网络服务器在哪个用户下运行,都必须具有创建/修改文件的权限。这很可能与您登录的用户不同。如果您有访问权限,以网络服务器用户身份 su(例如 sudo su - apache),然后尝试手动创建文件。 shell 命令“touch”可以解决问题。这将告诉您网络服务器是否具有访问权限。

【讨论】:

    【解决方案3】:

    确保在您运行脚本时文件 result.pdf 未在任何地方打开。如果它在其他地方打开,则 TCPDF 无法打开它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      • 2011-06-22
      • 2015-12-16
      • 2015-11-15
      • 2017-09-23
      • 2015-02-01
      • 2014-11-29
      相关资源
      最近更新 更多