未找到“Google_Client”类

问题描述 投票:3回答:4

我创建了一个组件:

<?php
    namespace common\components;
    use Google_Client;
    use Google_Service_Gmail;
    use Yii;
    use yii\base\ErrorException;
    use yii\helpers\ArrayHelper;
    use yii\base\Component;

    use yii\rest\ActiveController;
    use linslin\yii2\curl;



    class SocialLogin extends Component {
      public $GOOGLE_CLIENT_ID;
      public $FACEBOOK_CLIENT_ID;
      public $GOOGLE_CLIENT_ID_IOS;




      public function getGoogleUser($id_token,$device)
      {
            $clientID=$this->GOOGLE_CLIENT_ID;

            if($device=="ios")
            $clientID=$this->GOOGLE_CLIENT_ID_IOS;

            $client = new Google_Client(['client_id' => $clientID]);
            $payload = $client->verifyIdToken($id_token);
            if ($payload) {
                    // my code
            }

        }    

   }

它在本地工作正常但在实时服务器上我得到以下错误:

消息“:”未找到“Google_Client”类“,

问题是什么?

php yii2
4个回答
1
投票

如果你已经需要作曲家autoload.php并需要google/apiclient作曲家包,你可以搜索vendor/composer/autoload_static.php

'Google_' => 
    array (
        0 => __DIR__ . '/..' . '/google/apiclient/src',
    ),

这是google/apiclient PSR-0地图,如果你没找到它或路径错误,就意味着google/apiclient包没有正确安装。

希望这可以帮到你。


1
投票

我已经解决了这个问题。 The issue was PHP version,在我的本地机器上是PHP 7,在服务器上它是5.6然后我更新了PHP版本,所有问题都消失了。


0
投票

在根目录下的composer.json文件中包含以下代码。

 {
    "require": {
        "google/apiclient": "^2.0"
      }
   }

然后运行命令:composer update

这将在根级别的供应商目录中创建一个文件夹谷歌。在这个谷歌文件夹里面有apiclient,apiclient-services和auth的子文件夹。


0
投票

检查文件composer.json

并在classmap数组中添加“vendor / google / apiclient / src / Google”(如果不存在)。

并运行composer dump-autoload

"autoload": {
        "classmap": [
            "vendor/google/apiclient/src/Google"
        ]
}
© www.soinside.com 2019 - 2024. All rights reserved.