阅读pdf文件的权限

时间:2016-01-18 15:10:32

标签: php permissions pdf-generation tcpdf

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

1-我创建了一个名为:" pdf"的文件夹。在/var/www 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.

Altought我有以下文件设置:

-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设置中。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

有效。

我不得不补充道:

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

apache2.conf