我创建了一个组件:
<?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;,
会出现什么问题?
答案 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"
]
}