我相信我的托管公司可能最近更改了它以前的工作。但是,它们是无用的。file_get_contents URL现在太长了
我已经使用加载在文件中的file_get_contents
..说实话,它是代码包的一部分,我不是它的100%。然而,网址是相当长,它只是回声出该文件的结果:
即
$custom = getRealIpAddr()."|||||".$_SESSION['cart']."|||||".makeSafe($_GET['i'])."|||||".$lang;
$pphash = create_paypal_hash(makeSafe($_SESSION['cart']), '', create_password('####'), $custom);
$tosend = base64_encode(urlencode($pphash));
$cgi = "http://www.***********.com/pl/b.pl?a=".$tosend; // TEST LINE
echo file_get_contents($cgi);
这导致大约390个字符的URL ..如果我修剪下来到约360个字符它工作正常 - 但是这不是一个解决方案,因为我失去了一些传递到文件中的GET数据。
任何想法可能改变我的主机现在导致url的超过360个字符抛出一个403禁止的错误?
我也试着它卷曲方法 - 这也给了相同的结果:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $cgi);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
尝试使用curl扩展? –
问题可能出现在您尝试从服务器加载的服务器上?尝试使用浏览器中的所有参数加载该页面。 – claustrofob
您是连接到您自己的主机还是可能在另一个您尝试访问的网站中进行更改?如果在你自己的盒子上使用'suhosin',你可能想检查'suhosin.get.max_value_length'。 – Wrikken