【问题标题】:Fatal error: Uncaught Error: Call to undefined method Kreait\Firebase\Factory::getDatabase()致命错误:未捕获的错误:调用未定义的方法 Kreait\Firebase\Factory::getDatabase()
【发布时间】:2020-12-12 07:41:30
【问题描述】:

我正在尝试将 php 与 firebase 一起使用,但在尝试运行代码时出现此错误。

致命错误:未捕获的错误:在第 10 行调用 C:\xampp\htdocs\table\includes\db.php 中未定义的方法 Kreait\Firebase\Factory::getDatabase()

db.php 文件:

<?php

require __DIR__.'/vendor/autoload.php';

use Kreait\Firebase\Factory;
use Kreait\Firebase\ServiceAccount;

$firebase = (new Factory())->withServiceAccount(__DIR__.'/bib-bayitback-firebase-adminsdk-lkch9-44e22401ec.json');

$database = $firebase->getDatabase();



?>

我的 composer.json 文件:

{
    "require": {
        "kreait/firebase-php": "5.0"
    }
}

我该如何解决?

【问题讨论】:

标签: php firebase composer-php


【解决方案1】:

您已经安装了Firebase Admin SDK for PHP 的 v5.0.0,但是您遵循的教程是针对 4.x 版本的。

这是一个经常发生的问题,以至于it has its own section in the "Troubleshooting" section in the SDK's documentation

在 v5.x 中,初始化 Firebase 组件的正确方法是:

$factory = (new Factory())->withServiceAccount(__DIR__.'/bib-bayitback-firebase-adminsdk-lkch9-44e22401ec.json');

$database = $factory->createDatabase();

附注:

{
    "require": {
        "kreait/firebase-php": "5.0"
    }
}

将安装版本 5.0 和 5.0。仅(当前版本为 5.13)。您将永远不会收到更新版本的库,因为您将版本约束固定为 5.0

如果您想确保收到 SDK 的新功能和错误修复,请在版本号前添加插入符号 (^):

{
    "require": {
        "kreait/firebase-php": "^5.0"
    }
}

这将允许您的项目接收最新的 5.x 版本的 SDK。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-21
    • 2019-07-19
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 2021-06-05
    相关资源
    最近更新 更多