Class' Google_Client'未找到

时间:2017-06-22 13:41:52

标签: php yii2

我创建了一个组件:

<?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
            }

        }    

   }

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

  

消息&#34;:&#34; Class&#39; Google_Client&#39;找不到&#34;,

会出现什么问题?

4 个答案:

答案 0 :(得分:1)

如果您已经需要编辑器autoload.php并需要google/apiclient编辑器包,则可以搜索vendor/composer/autoload_static.php

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

这是google/apiclient PSR-0地图,如果找不到或路径错误,则表示google/apiclient包未正确安装。

希望这可以帮到你。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

[class.active]

然后运行命令:作曲家更新

这将在根目录下的供应商目录中创建一个google文件夹。在此google文件夹中,有apiclient,apiclient-services和auth的子文件夹。

答案 3 :(得分:0)

检查文件composer.json

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

并运行composer dump-autoload

"autoload": {
        "classmap": [
            "vendor/google/apiclient/src/Google"
        ]
}