大量的api调用不适用于小滴,但可以在本地工作

问题描述

嗨,我正在尝试从api获取令牌,但是无论我尝试对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;
});

发布的网址不是一个真实的网址,我真的不认为发布真实的网址是明智的,因为如果没有我无法在此处发布的client_id和client_secret,它就无法正常工作。

有没有理由让小滴干扰呢?我该怎么做才能解决此问题?

解决方法

仔细检查远程.env文件,并确保它不是该文件的某些过时的缓存版本(然后env()将返回)。 Laravel具有此功能,确实很棘手,而没有考虑到这一点(例如,由于没有明显的原因而无法正常工作)。 php artisan cache:clear清除配置缓存,php artisan config:cache再次建立它;我什至认为生产默认情况下使用缓存的配置(这可能是实际的区别)。