代码如下,在正式环境可以下载其他网站文件,但本地虚拟机或测试站不行。或者说可以下载生成文件,但文件都是损坏的,大小都是0kb
header("Content-Type: application/force-download");
header('Content-Description: File Transfer');
header("Content-Disposition: attachment; filename=".(文件名));
readfile(远程文件路径);
网上查的openssl、allow_url_fopen配置都有。
有大神指点下吗?
找到问题了,php版本有点老,编译的时候添加了--with-curlwrappers配置。导致下载为空。要重新编译下php
看吧,让你对比各种插件配置,还是我聪明,还不给我豆豆
@小小解忧草: 给你给你都给你
@阅尽三千: 这还差不多,哈哈
爱莫能助~,但是我觉得你可以对比一下正式环境跟测试环境系统差别以及插件配置
环境配置比对过了,没什么不同的
有权限吗,linux吗
什么权限?目录权限吗?
下载通过浏览器直接下载到本地的啊
@阅尽三千: application/octet-stream 试试这个 类型
@大咸菜: 不行,下载生成的文件还是空的
个人理解:代码内文件下载基本都是请求的形式;你用 curl -v 看下整个请求干了些啥;两个环境对比下
请求好像没发出去,远程服务器端nginx没有访问的日志
@阅尽三千:
本地虚拟机请求好像没发出去?
正式环境呢?
@韆: 找到问题了,php版本有点老,编译的时候添加了--with-curlwrappers配置。导致下载为空。要重新编译下php
用代理看看本地是怎么请求远程文件的
– lastmemory 2年前@lastmemory: 确定是网络问题了,远程服务器上都没收到请求
– 阅尽三千 2年前