8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

Google Firestore 数据库无法连接到 IIS(Laragon Apache 正常)'空地址列表:' 错误:14

dwjohnston 1月前

13 0

我正在运行 (Windows) IIS 和 PHP 8.1、grpc + 钠。我有来自 Google Firebase 的凭证文件,我只是从名为 \'info\' 的集合中读取。在同一台机器上,我很失望...

我正在运行 (Windows) IIS,其中包含 PHP 8.1、grpc + 钠。我有来自 Google Firebase 的凭证文件,我只是从名为 \'info\' 的集合中读取。

在我运行 IIS 和 Apache 的同一台机器上,相同的代码在 Apache(Laragon)中运行良好,但在 IIS 中却不行。IIS 返回此错误:

{\'错误\':\'{\n\'消息\':\'空地址列表:\',\n\'代码\':14,\n\'状态\':\'不可用\',\n\'详细信息\':[]\n}\'}

我尝试过 PHP8.1、8.2 和 8.3,但出现同样的错误。

我创建了一个测试函数来提供帮助,这是我正在运行的函数。

public function testFirestore()
    {
        $credentialsPath = base_path(env('FIREBASE_CREDENTIALS'));
        putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $credentialsPath);
        putenv('GRPC_VERBOSITY=DEBUG');
        putenv('GRPC_TRACE=all');

        try {
            // Log the credentials path and environment variable
            Log::info('GOOGLE_APPLICATION_CREDENTIALS: ' . getenv('GOOGLE_APPLICATION_CREDENTIALS'));
            Log::info('Service account file exists: ' . (file_exists($credentialsPath) ? 'yes' : 'no'));

            Log::info('GRPC_VERBOSITY: ' . getenv('GRPC_VERBOSITY'));
            Log::info('GRPC_TRACE: ' . getenv('GRPC_TRACE'));

            $firestore = new FirestoreClient([
                'projectId' => '[projectid]',
            ]);

            $collection = $firestore->collection('info');
            $documents = $collection->documents();

            $result = [];
            foreach ($documents as $document) {
                $result[] = [
                    'id' => $document->id(),
                    'data' => $document->data()
                ];
            }

            return response()->json($result);
        } catch (\Exception $e) {
            Log::error('Firestore error: ' . $e->getMessage());
            return response()->json(['error' => $e->getMessage()], 500);
        }
    }

如果有帮助的话我很乐意发送我的 php.ini...

帖子版权声明 1、本帖标题:Google Firestore 数据库无法连接到 IIS(Laragon Apache 正常)'空地址列表:' 错误:14
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由dwjohnston在本站《windows》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我不是 PHP 开发人员。澄清问题|声明:Firebase (!) 凭据不是 Google 应用程序默认凭据。Firebase 不是 Firestore。这并不能解释错误,因为我预计会出现未经身份验证的错误,但是,如果您的 Firebase 凭据包括 Firebase API 密钥和 Auth 域等,则这些不能用于向 Firestore 客户端进行身份验证。

返回
作者最近主题: