【问题标题】:PHP CURL cookie not sent in the website but works in the localhost testPHP CURL cookie 未在网站中发送,但在 localhost 测试中有效
【发布时间】:2015-12-17 17:57:24
【问题描述】:
$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);

代码在我的本地主机中工作,但在真实站点中不起作用,我检查了 CURL 是否已安装,并且在使用 post 方法而不是 get 方法时工作。 继续谷歌搜索几个小时,但还没有解决方案。感谢您的帮助。

【问题讨论】:

  • 目前是Debian 6,我尝试禁用Mod_security模块,也无法工作,我想知道CURL版本是7.21.0是否太旧而无法处理CURLOPT_COOKIE。

标签: php curl cookies httprequest


【解决方案1】:

这可能是服务器相关的问题。或者服务器上的一些第三个工具。

例如this issue 看起来很相似。

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

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

suhosin.session.encrypt = off

您是否尝试在服务器操作系统社区中寻找答案?你知道服务器上安装了哪些“特殊”的 php 工具吗?在你的问题中描述这一点。

【讨论】:

  • 我的操作系统是 debian,我在 php.ini 中添加了 suhosin.session.encrypt = off,但仍然无法正常工作...
猜你喜欢
  • 2016-11-14
  • 1970-01-01
  • 2012-10-13
  • 2015-11-13
  • 2016-12-16
  • 1970-01-01
  • 1970-01-01
  • 2017-01-28
  • 1970-01-01
相关资源
最近更新 更多