我正在使用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设置中。
答案 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