【发布时间】:2021-11-17 14:17:38
【问题描述】:
从 wordpress + woocommerce 的基本安装中,我创建了一个自定义插件,它使用不记名令牌在 GET 协议中调用 API。我从邮递员那里复制了 php curl 代码,在本地和邮递员上我都可以毫无问题地连接到其余服务。但是如果我使用 wordpress 中的相同代码,我会得到“503 Service Unavailable”。不是专家我不知道问题是由于 apache2 / .htacces 文件的错误配置,还是 wordpress 添加了标题或其他导致调用在 503 中失败的事情
我在这里报告调用 curl
protected function getGetData($url,$token){
$curl = curl_init();
$auth= 'Authorization: Bearer '.$token;
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
$auth
),
));
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
我已经尝试关闭所有 wordpress 插件,但没有任何结果。特别是通过更改某些设置,有时调用第一次返回 200,但从第二次开始,它继续返回 503。从邮递员和本地 php 改为每次执行函数时都会工作
【问题讨论】:
标签: php wordpress api apache rest