Guzzle api 呼叫不在液滴上工作但在本地工作
Guzzle api call not working on droplet but working locally
嗨,我正在尝试从 api 获取令牌,但无论我在 Droplet 上尝试什么,我每次都会得到一个无效的客户端,代码在本地和 Droplet 上是相同的,目前在本地工作,但不在 droplet 上工作。
这是代码
return Cache::rememberForever('payment_token', function () {
$client = new Client(['http_errors' => false]);
$params = [
'client_id' => env('CLIENT_ID'),
'client_secret' => env('CLIENT_SECRET'),
'grant_type' => 'client_credentials',
];
$headers = [
'Accept' => 'application/json',
];
$response = $client->request('POST', 'https://apipay.io/auth/token/', [
'json' => $params,
'headers' => $headers
]);
$res_body = json_decode($response->getBody()->getContents());
return $res_body->access_token;
});
用于 post 的 url 不是真实的,我真的不认为 post 真实的是明智的,因为没有client_id 和 client_secret 我不能在这里 post。
液滴会干扰这个有什么原因吗?我该怎么做才能解决这个问题?
Double-check 远程 .env
文件并确保它不是某个过时的缓存版本(env()
会 return)。 Laravel 有这个功能,虽然没有考虑到这一点,但确实非常棘手(例如,它只是无缘无故地不起作用)。 php artisan cache:clear
清除 config-cache 并 php artisan config:cache
重新构建它;我什至认为生产默认使用缓存配置(这可能是那里的实际差异)。
嗨,我正在尝试从 api 获取令牌,但无论我在 Droplet 上尝试什么,我每次都会得到一个无效的客户端,代码在本地和 Droplet 上是相同的,目前在本地工作,但不在 droplet 上工作。
这是代码
return Cache::rememberForever('payment_token', function () {
$client = new Client(['http_errors' => false]);
$params = [
'client_id' => env('CLIENT_ID'),
'client_secret' => env('CLIENT_SECRET'),
'grant_type' => 'client_credentials',
];
$headers = [
'Accept' => 'application/json',
];
$response = $client->request('POST', 'https://apipay.io/auth/token/', [
'json' => $params,
'headers' => $headers
]);
$res_body = json_decode($response->getBody()->getContents());
return $res_body->access_token;
});
用于 post 的 url 不是真实的,我真的不认为 post 真实的是明智的,因为没有client_id 和 client_secret 我不能在这里 post。
液滴会干扰这个有什么原因吗?我该怎么做才能解决这个问题?
Double-check 远程 .env
文件并确保它不是某个过时的缓存版本(env()
会 return)。 Laravel 有这个功能,虽然没有考虑到这一点,但确实非常棘手(例如,它只是无缘无故地不起作用)。 php artisan cache:clear
清除 config-cache 并 php artisan config:cache
重新构建它;我什至认为生产默认使用缓存配置(这可能是那里的实际差异)。