PHP CURL cookie不在网站上发送,但在localhost测试中工作

时间:2015-09-21 06:06:59

标签: php curl cookies httprequest

$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HEADER,false);
curl_setopt($ch, CURLOPT_COOKIE,"denial=93a7a7e8b5af9f19a6df5e9850f8a64a;");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$the_source = curl_exec($ch);
//echo $the_source;
curl_close($ch);

代码在我的localhost中工作,但在真实站点中不起作用,我检查了CURL已安装并且在使用post方法但不是get方法时有效。 谷歌搜索几个小时但没有解决方案。任何帮助都是值得欣赏的。

1 个答案:

答案 0 :(得分:0)

这可能是服务器依赖的问题。或者服务器上的第三个工具。

例如this issue看起来很相似。

问题是托管使用特殊的" php保护系统suhosin"加密会话(会话cookie),因此CURLOPT_COOKIE不起作用。

解决方案是在/etc/php5/conf.d/suhosin.ini文件中禁用 suhosin.session.encrypt 参数:

suhosin.session.encrypt = off

您是否尝试在服务器社区中寻找答案?你知道吗" specail"在服务器上安装php工具?在你的问题中描述这一点。