Php 上传文件时:Curl return“;“来自服务器的空答复”;仅在Linux上,但在Windows上

Php 上传文件时:Curl return“;“来自服务器的空答复”;仅在Linux上,但在Windows上,php,curl,Php,Curl,当我使用CURL将文件上传到Mediafire主机时,我在Ubuntu CentOs上得到了“来自服务器的空回复” 但使用相同的代码,我可以在Windows上上传该文件。 Linux和Windows有什么区别?如何解决此问题?尝试更改用户代理,看看这是否会产生影响。例如: curl --user-agent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.68 Safa

当我使用CURL将文件上传到Mediafire主机时,我在Ubuntu CentOs上得到了“来自服务器的空回复” 但使用相同的代码,我可以在Windows上上传该文件。
Linux和Windows有什么区别?如何解决此问题?

尝试更改用户代理,看看这是否会产生影响。例如:

curl --user-agent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.68 Safari/534.24"

在卷曲文件之前使用ReturnTransfer

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_FILE, $fp); 

我不知道为什么我在CULLOPT_文件之后使用RETURNTRANSFER,它在Windows O_中工作。 即使在Linux中,我也使用与Windows相同的操作系统,我可以上传到许多主机上,但Mediafire除外。
非常奇怪>我遇到了这个问题,最后发现是办公网络防火墙策略造成的

我编译了各种版本的Curl和OpenSSL,但总是窗口机可以正常使用,Linux环境下的两个设备不能上传文件,JSON和下载文件功能正常;最后发现是office网络的防火墙策略导致我的Windows计算机通过了网络认证,具有较高的权限。但是,Linux的两个设备具有有限的网络权限,不能上载文件,但可以使用JSON和下载文件

因为它是一个测试环境,LINUX通过窗口上的TCP端口映射成功上传文件