登录
首页 >  文章 >  php教程

PHP readfile()下载文件失败,本地环境文件损坏或大小为0KB怎么办?

时间:2024-12-08 08:30:56 440浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习文章的朋友们,也希望在阅读本文《PHP readfile()下载文件失败,本地环境文件损坏或大小为0KB怎么办?》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新文章相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

PHP readfile()下载文件失败,本地环境文件损坏或大小为0KB怎么办?

php readfile() 下载文件失败的解决方案

本文将解决使用 php readfile() 下载文件时遇到的常见问题:在本地环境中文件加载损坏或大小为 0kb。

问题详情

在正式环境中,使用以下代码下载其他网站文件是正常的:

header("Content-Type: application/force-download");
header('Content-Description: File Transfer');
header("Content-Disposition: attachment; filename=".(文件名));
readfile(远程文件路径);

然而,在本地虚拟机或测试站中,下载的文件损坏,大小为 0kb。

解决方法

经调查,导致此问题的根源在于 php 版本较旧,编译时添加了 --with-curlwrappers 配置。

要解决此问题,需要重新编译 php,不使用 --with-curlwrappers 配置。

步骤:

  1. 备份现有 php 配置。
  2. 重新编译 php,不使用 --with-curlwrappers 配置。
  3. 重启 web 服务器。

重新编译 php 后,下载文件功能应正常工作,不再出现损坏或大小为 0kb 的问题。

今天关于《PHP readfile()下载文件失败,本地环境文件损坏或大小为0KB怎么办?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>