【问题标题】:Permissions for reading pdf files读取pdf文件的权限
【发布时间】:2016-01-18 15:10:31
【问题描述】:

我正在使用 TCPDF 库。我有两台机器,一台是 Debian Testing,另一台是 Ubuntu 15.10。我开发了一个生成 pdf 报告的类,但是我有一个问题,当我在 Debian 主机上测试它时,一切正常:

1- 我在/var/www 中创建了一个名为“pdf”的文件夹 2- 然后我做了:sudo chown -R www-data:user /var/www/pdf 3-生成pdf文件,我得到:

-rw-r--r--  1 www-data www-data 76113 ene 18 09:53 out.pdf

4- 文件夹有:

drwxr-xr-x 2 www-data user    4096 ene 18 09:53 pdf

我用过:

const base_path = '/var/www';
$pdf->Output(self::base_path . '/pdf/out.pdf', 'F');

在 iFrame 中显示它:

<iframe width="100%" height="500" frameborder="0" allowfullscreen="true" src="/var/www/pdf/out.pdf" name="iFrameName" id="iframeID"></iframe>

我将整个项目复制到 Ubuntu 主机,但在浏览器中显示 pdf 文件时出现此错误:

Forbidden
You don't have permission to access /var/www/pdf/out.pdf on this server.

假设我有以下文件设置:

-rw-r--r--  1 www-data www-data 76113 ene 18 12:06 out.pdf

文件夹有:

drwxrwxr-x 2 www-data ubuntu-user    4096 ene 18 09:53 pdf

我怀疑错误出现在我在 Ubuntu 上缺少的 apache 设置中。

【问题讨论】:

    标签: php permissions pdf-generation tcpdf


    【解决方案1】:

    将你的 ifreme 更改为你总是跳过你的 DOCUMENT_ROOT 路径

    <iframe width="100%" height="500" frameborder="0" allowfullscreen="true" src="/pdf/out.pdf" name="iFrameName" id="iframeID"></iframe>
    

    【讨论】:

    • 没有用。得到的错误答案是:http://localhost/pdf/out.pdfbut the pdf file is in /var/www/pdf.
    【解决方案2】:

    它有效。

    我必须补充:

    <Directory /var/www/pdf>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    

    apache2.conf

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-21
      • 1970-01-01
      • 2011-12-21
      • 2011-05-27
      • 2016-02-02
      • 1970-01-01
      • 1970-01-01
      • 2017-02-12
      相关资源
      最近更新 更多