【问题标题】:Fatal error: Uncaught Error: Class 'Kreait\Firebase\ServiceAccount' not found in致命错误:未捕获的错误:在中找不到类“Kreait\Firebase\ServiceAccount”
【发布时间】:2018-06-09 22:44:13
【问题描述】:

我现在必须学习通过火力基地编写移动应用程序网络服务。 我点击了这个链接:https://firebase-php.readthedocs.io/en/stable/

在我的核心网站中,我创建了 web 服务文件夹,然后创建了我的 fire.php 文件。这个文件代码在这里,

<?php

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

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

$serviceAccount = ServiceAccount::fromJsonFile(__DIR__.'/google-service-account.json');
$apiKey = 'AIzaSyC_vb5G9qs3NJsywbR34el1RaPj2HDhwNg';

$firebase = (new Factory)
    ->withServiceAccountAndApiKey($serviceAccount, $apiKey)
    ->withDatabaseUri('https://workarea-cb10b.firebaseio.com')
    ->create();

$database = $firebase->getDatabase();

$newPost = $database
    ->getReference('blog/posts')
    ->push([
        'title' => 'Post title',
        'body' => 'This should probably be longer.'
    ]);

$newPost->getKey(); // => -KVr5eu8gcTv7_AHb-3-
$newPost->getUri(); // => https://my-project.firebaseio.com/blog/posts/-KVr5eu8gcTv7_AHb-3-

$newPost->getChild('title')->set('Changed post title');
$newPost->getValue(); // Fetches the data from the realtime database
$newPost->remove();

我必须在这里调用我的支持文件:https://github.com/kreait/firebase-php/

但我还是得到了一个:

致命错误:未捕获的错误:“Kreait\Firebase\ServiceAccount”类 没有找到 /opt/lampp/htdocs/workarea/webservice/firebase/fire.php:13 堆栈 跟踪:#0 {main} 投入 /opt/lampp/htdocs/workarea/webservice/firebase/fire.php 在第 13 行

issue 必须解决这个问题。请检查并帮助我。

我的composer.json 文件

{
    "name": "kreait/firebase-php",
    "description": "Firebase Admin SDK",
    "keywords": ["firebase", "google", "sdk", "api", "database"],
    "homepage": "https://github.com/kreait/firebase-php",
    "license": "MIT",
    "authors": [
        { "name": "Jérôme Gamez", "homepage": "https://github.com/jeromegamez" }
    ],
    "require": {
        "php": "^7.0",
        "ext-mbstring": "*",
        "ext-openssl": "*",
        "fig/http-message-util": "^1.1",
        "google/auth": "^0.11.0|^1.0",
        "guzzlehttp/guzzle": "^6.2.1",
        "kreait/firebase-tokens": "^1.1.1",
        "lcobucci/jwt": "^3.2",
        "mtdowling/jmespath.php": "^2.3"
    },
    "require-dev": {
        "friendsofphp/php-cs-fixer": "^2.0",
        "phpstan/phpstan-phpunit": "^0.9.2",
        "phpunit/phpunit": "^6.0"
    },
    "autoload": {
        "psr-4": {
            "Kreait\\": "src"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Kreait\\Tests\\": "tests"
        }
    },
    "config": {
        "platform": {
            "php": "7.0"
        },
        "sort-packages": true
    },
    "extra": {
        "branch-alias": {
            "dev-master": "3.x-dev"
        }
    }
}

【问题讨论】:

  • 我们可以看看你的 composer.json 文件吗?
  • 这是我的作曲家文件
  • 不,这是你的 fire.php 文件
  • sry 我无法正确发送我的作曲家文件。我将通过评论发送文件
  • 编辑您的问题。请不要使用这样的 cmets。

标签: php firebase


【解决方案1】:

我相信你已经解决了你的问题,但是对于即将到来的开发人员来说,它可能会有所帮助,它与你的作曲家的问题 install kreait/firebase-php using composer in cmd > 在项目目录中,您的问题将得到解决。

【讨论】:

    【解决方案2】:

    实际上我也遇到了同样的问题,我通过安装 php-psr exteion 来解决它:

    pecl install psr
    

    使用以下行创建 /etc/php/7.x/mods-available/psr.ini:

    ; configuration for psr module
    ; priority=20
     extension=psr.so
    

    并通过执行来启用扩展:

    sudo phpenmod psr
    

    并重新加载/重新启动 apache、php-fpm .....

    service apache2 restart
    service php7.4-fpm restart
    

    【讨论】:

    • 对于阅读本文的每个人,请注意,如果没有有关此适用环境(系统和项目方面)的更多信息,则不应遵循此建议。找不到类可能有多种原因,我知道没有一个可以保证安装我直到今天才听说过的 PECL 扩展?
    【解决方案3】:

    我建议从Firebase Installation 开始。那里描述了过程,但要点是:

    使用 Composer 在命令行中安装你的 firebase-php 包:

    php composer.phar require kreait/firebase-php
    

    这应该可以解决缺少课程的问题。

    【讨论】:

    • 我遇到了同样的问题,你的修复不起作用
    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 2018-09-06
    • 1970-01-01
    • 2018-05-11
    • 2020-11-09
    • 2020-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多