XSendfile无法正常工作-PHP,Apache,Cpanel
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了XSendfile无法正常工作-PHP,Apache,Cpanel,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2348字,纯文字阅读大概需要4分钟。
内容图文
![XSendfile无法正常工作-PHP,Apache,Cpanel](/upload/InfoBanner/zyjiaocheng/691/50597d45c1234096af7f3bbff8c6fcb6.jpg)
强烈建议使用XSendfile,因为我们正在从服务器提供很大的文件.服务器正在运行Cpanel.以前,我们使用的是直接强制下载脚本,该脚本在某些浏览器中也无法正常运行.希望使用XSendfile用一块石头杀死两只鸟.
好的,我们的主机已在服务器上启用Xsendfile.我写了一个快速测试脚本:
$file = "/home/deli/central/testfile.doc";
header("X-Sendfile: $file");
header("Content-type: application/octet-stream");
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
exit;
当我运行它时,我得到下载提示.但是发送的文件始终为0kb.
进行一些研究,似乎您需要在apache配置文件或htaccess文件中设置各种设置.还告诉我,将其添加到apache配置不是一个好主意,否则在更新时可能会被覆盖.我宁愿在htaccess中也这样做,因为我没有直接访问apache配置的权限,而我宁愿拥有使用htaccess进行控制的控制权.
如果可以的话,当然可以.
因此,我将以下内容添加到htaccess文件中:
上的XSendFile
XSendFilePath / home / deli / central
XSendFileAllowAbove开启
(从脚本到中央文件目录的相对路径是../../deli/central)
如果我将这些行添加到htaccess中,并将其放在public_html目录(与测试脚本相同的目录)中,则当我运行测试脚本时出现500错误.快速查看错误日志显示:
/home/north/public_html/.htaccess:此处不允许使用XSendFilePath
有人能启发我做错什么吗?
ps-我刚刚读到,在apache配置中执行此操作效率更高,因此服务器不必搜寻并加载所有htaccess文件.不知道这是不是真的.
非常感谢您的帮助,这在项目上有点困难:)
ps我忘了提到-如果我使用相同的$file路径直接强制下载到脚本中,则文件下载就可以了.因此,路径似乎是正确的.
解决方法:
我希望这会帮助某人…
我遇到了这样的问题:无论何时何地-> 0字节
我解决了此举
XSendFile On
XSendFilePath /var/1000italy/data/offline
从virtualHost部分
<VirtualHost *:80>
DocumentRoot "/var/{{ app_name }}/web"
ServerName {{ app_name }}.dev
# here was the problem
XSendFile On
XSendFilePath /var/1000italy/data/offline
<Directory "/var/{{ app_name }}/web">
allow from all
Options -Indexes
AllowOverride All
</Directory>
ErrorLog /var/log/apache2/{{ app_name }}_error.log
CustomLog /var/log/apache2/{{ app_name }}_access.log combined
</VirtualHost>
到目录部分
<VirtualHost *:80>
DocumentRoot "/var/{{ app_name }}/web"
ServerName {{ app_name }}.dev
<Directory "/var/{{ app_name }}/web">
allow from all
Options -Indexes
AllowOverride All
# HERE EVERYTHING WORKS FINE
XSendFile On
XSendFilePath /var/1000italy/data/offline
</Directory>
ErrorLog /var/log/apache2/{{ app_name }}_error.log
CustomLog /var/log/apache2/{{ app_name }}_access.log combined
</VirtualHost>
再见
内容总结
以上是互联网集市为您收集整理的XSendfile无法正常工作-PHP,Apache,Cpanel全部内容,希望文章能够帮你解决XSendfile无法正常工作-PHP,Apache,Cpanel所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。