Php 如何修复文件\u获取\u内容警告
我在Google checkout gateway处理程序中使用以下代码,但当我测试它时,它显示以下警告: 警告:文件\u获取\u内容(https://checkout.google.com/api/checkout/v2/checkoutForm/Merchant/XXXXXXXXXXX)[function.file get contents]:无法打开流:HTTP请求失败!HTTP/1.0 411第116行/sample.php中要求的长度 我的第116行如下所示:Php 如何修复文件\u获取\u内容警告,php,google-checkout,Php,Google Checkout,我在Google checkout gateway处理程序中使用以下代码,但当我测试它时,它显示以下警告: 警告:文件\u获取\u内容(https://checkout.google.com/api/checkout/v2/checkoutForm/Merchant/XXXXXXXXXXX)[function.file get contents]:无法打开流:HTTP请求失败!HTTP/1.0 411第116行/sample.php中要求的长度 我的第116行如下所示: //some more
//some more code//
$ctx = stream_context_create($params);
echo file_get_contents($_googleUrl, false, $ctx);
exit;
有人能帮我吗。从
411所需长度
服务器拒绝接受未定义名称的请求
内容长度。如果客户端添加了有效的
内容长度标题字段,包含实体正文的长度
在请求消息中
这可能意味着您没有发送请求中的内容长度
标题,或者发送的标题不正确。如果不知道$params
数组的内容,则很难对此进行调试。因此,如果您发送了一个不正确的内容长度
标题,则需要将其删除,并让PHP自动处理(假设PHP会这样做),或者如果您当前没有发送,则发送一个正确的标题。正如其他人所建议的,cURL可能是一个更可行的选择
另外,进一步研究表明,当您使用POST时,某些服务器(mis)会以这种方式运行,但不提供任何POST变量。因此,如果是这种情况,您可以通过以下两种方法之一解决此问题
我这里没有你的线索,你能在这里详细说明吗?试着发布
var_dump($params)的输出代码>不喜欢这样建议,但使用cURL函数可能会更好。他们会为POST请求自动设置。否则,添加头比使用streams API.Yup更简单。只需使用cURL库API。设置HTTPS上下文将省去一些麻烦。(cURL也需要对https进行一些设置,但它似乎至少有更好的文档记录。)