加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 找不到Xsendfile文件

发布时间:2020-12-13 16:13:27 所属栏目:PHP教程 来源:网络整理
导读:我在Dreamhost上使用mod_xsendfile下载大型zip文件(50mb) 我在.htaccess中启用了mod_xsendfile和“XSendFile on”. 当我给予 header('X-Sendfile: "'.$fullPath.'"'); 命令,使用服务器上存在的文件的完整路径,我收到一个网页找不到错误. readfile()发现文件
我在Dreamhost上使用mod_xsendfile下载大型zip文件(50mb)

我在.htaccess中启用了mod_xsendfile和“XSendFile on”.

当我给予

header('X-Sendfile: "'.$fullPath.'"');

命令,使用服务器上存在的文件的完整路径,我收到一个网页找不到错误.

readfile()发现文件很好并提供服务,但.zip文件已经太大了,无法处理php.

您可以提供的任何帮助将不胜感激!

解决方法

我有同样的问题,并能够解决它,所以这个解决方案可能适合你.

首先要检查你的Apache错误日志(对我来说,位于/ etc / httpd / logs中).这是我在我的发现:

[Wed Sep 05 14:29:02 2012] [error] [client ?.?.?.?] (20023)The given path was above the root path: xsendfile: unable to find file: /path/to/file

问题是,我想要服务的文件位于httpd.conf中定义的DocumentRoot(对我来说,/ var / www / html)之上.

我的解决方案是在DocumentRoot目录中创建一个符号链接,该符号链接指向包含我要提供的文件的目录.我使用以下命令:

ln -s /path/to/file_dir /path/to/doc_root/file_dir

然后,我所要做的就是将PHP点xSendFile添加到符号链接:

header("X-SendFile: /path/to/doc_root/file_dir/file_name.ext");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读