php 致命错误:未捕获的错误:在中未找到类“Kreait\Firebase\ServiceAccount”

b5buobof  于 2022-10-30  发布在  PHP
关注(0)|答案(3)|浏览(168)

我刚刚学会了通过Fire Base编写移动的应用Web服务。我点击了这个链接: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/
但我还是打了一个:
致命错误:未捕获的错误:/opt/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/html/在/opt/lampp/htdocs/workarea/webservice/firebase/fire. php中的第13行抛出了一个错误。
问题必须解决这个问题。请检查并帮助我。
我的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"
        }
    }
}
q3aa0525

q3aa05251#

我相信你已经解决了你的问题,但是对于即将到来的开发者来说,它可能会有帮助,它的问题与你的 composer安装kreait/firebase-php使用 composercmd项目目录和你的问题将得到解决。

rekjcdws

rekjcdws2#

我实际上也遇到了同样的问题,我通过安装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
z0qdvdin

z0qdvdin3#

我建议从Firebase安装开始。过程在那里描述,但要点是这样的:
使用Composer在命令行中安装firebase-php包:

php composer.phar require kreait/firebase-php

这应该可以解决缺课问题

相关问题