似乎有点困境。据我所知,没有改变PHP或Apache,但是已经工作了近6个月的代码今天下午2点停止工作。
代码是:
function ls_record($prospectid,$campid){
$api_post = "method=NewProspect&prospect_id=".$prospectid."&campaign_id=".$campid;
$ch = curl_init();
curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $api_post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, "http://XXXXX/XXXXXX/store.php");
$x = print_r(curl_exec($ch), TRUE);
return $x;
}
返回NULL, I tried using
file_get_contents()which also returns
NULL`。我检查Apache错误日志,什么也看不见......我需要一些帮助。
答案 0 :(得分:0)
您是否可以访问服务器的命令行?可能是目的地以某种方式阻止了你。
如果您有命令行权限,请尝试使用
wget http://XXXXX/XXXXXX/store.php
至少应该返回一些东西(如果不是标题)
答案 1 :(得分:0)
使用curl_getinfo来检查你的curl执行状态,也许你试图从中提取内容的服务器需要你的curl来设置用户代理,一些站点检查用户代理来阻止不需要的curl访问。
下面是我用来将我的curl伪装成桌面Chrome浏览器的用户代理。
curl_setopt($ch,CURLOPT_USERAGENT,' Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36');
答案 2 :(得分:0)
由于网速较低,我在服务器上遇到同样的问题。 Internet速度下降一段时间并且curl需要花费很多时间来执行,因此它会返回超时错误。几分钟后,它在没有任何服务器更改的情况下正常工作。