【发布时间】:2014-10-28 01:11:52
【问题描述】:
我有以下脚本: /var/www/vhosts/default/download/index.php
我正在使用 readfile();提供文件:
$path = '/data/'. $arr["$product"] .'';
readfile($path);
但是会产生如下错误:
[error] [client xx] PHP Warning: readfile(/data/xxx.iso): failed to open stream: Permission denied in /var/www/vhosts/default/download/index.php on line 33, referer :http://zxc.com/
我以为是权限问题,所以给/data目录下777,给/data下的文件777,还是没有解决问题。然后我把目录+文件的所有者改成了apache,也没有解决。
还有什么问题?还尝试使用 open_basedir 解决它。但没有成功。
【问题讨论】:
-
删除第一个斜杠
/作为相对路径?还是数据真的是顶级目录? -
对不起,直接文件夹是:/data/(它在不同的分区上)
-
文件真的存在吗? (检查file_exists)
-
是的,该文件确实存在。我从错误日志中复制了文件名并通过 SSH 检查。该文件确实存在。
-
文件在 /var/www/vhosts/default/download/data/yourfile 吗??
标签: php