Hello! 欢迎来到小浪资源网!


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


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

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

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

问题详情

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

立即学习PHP免费学习笔记(深入)”;

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 的问题。

相关阅读