-1
我正在用PHP开发一个小型网站。该网站正在发送REST curl请求以从后端系统获取和发布数据。PHP:POST REST CALL不能在Redhat的AMAZON EC2上工作
我开始在我的电脑上使用LAMP环境开发这个网站。 我所有的CURL调用在LAMP环境中都运行良好。
由于我不得不把这个网站提供给某个人,所以我把它推到了AMAZON EC2上,在一个Redhat实例上,我安装了Apache2和Php5。
我的问题是,虽然GET调用在亚马逊上工作,但我所有的POST调用都没有。看起来,后端系统不会收到POST调用,并且不会返回任何消息。
这是我使用(这又是工作,从我的本地罚款)的PHP代码的样本:
$urlwebbehavior = 'https://'.$domain.'/api/inbound/activity?access_token='.$tokenServer.'&member_id='.$memberid.'&type=web_behavior&action_type=Page%20View&page='.$pageurl;
$ch5 = curl_init();
curl_setopt($ch5, CURLOPT_URL, $urlwebbehavior);
curl_setopt($ch5, CURLOPT_POST, true);
curl_setopt($ch5, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch5, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch5, CURLOPT_HTTPHEADER, array('Accept:application/vnd.backend-v1+json'));
$result5 = curl_exec($ch5);
$curlErrno = curl_errno($ch5);
if($curlErrno){
$curlError = curl_error($ch5);
throw new Exception($curlError);
}
curl_close($ch5);
我首先想到的是与EC2的一个问题。我通过使用来自Amazon的命令行的等效curl请求进行测试,并且它工作正常。所以我认为EC2不是问题。 它可能是Apache配置或其他东西。
在此先感谢您的帮助。
Baocrazy
是的。我直接从amazon实例运行curl命令,它工作正常。此外,网站代码还包含一些使用curl的GET调用。 – Baocrazy
var_dump(extension_loaded('curl'));返回bool(true)。 – Baocrazy
var_dump $ result5返回字符串(0)“” – Baocrazy