You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP与Firebase Admin SDK时类找不到问题求助

Firebase Admin SDK(kreait/firebase-php)安装后无法找到类的问题

问题详情

  • 执行命令 composer require kreait/firebase-php 安装Firebase Admin SDK,版本为5.26.5
  • 下载后的vendor目录结构包含:vendor/kreait/firebase-php、vendor/kreait/clock、vendor/kreait/firebase-tokens
  • 执行 composer show kreait/firebase-php 时,require字段仅显示kreait/firebase-tokens和kreait/clock,未列出自身
  • 在项目根目录创建test.php文件,代码如下:
require __DIR__ . '/vendor/autoload.php';

if (class_exists('Kreait\Firebase\Firebase')) {
    echo "Firebase class found!";
    $firebase = new \Kreait\Firebase\Firebase(); // Or your Firebase initialization code
} else {
    echo "Firebase class NOT found!";
} 
  • 运行test.php后输出“Firebase class NOT found!”
  • 环境:PHP 8.3.14 (cli) (built: Nov 19 2024 15:53:36) (NTS Visual C++ 2019 x64)
  • 已尝试操作:composer clear-cache、composer install,问题未解决

排查与解决步骤

1. 修正类名(核心问题)

kreait/firebase-php v5.x版本中不存在Kreait\Firebase\Firebase类,正确的初始化入口是Kreait\Firebase\Factory。修改test.php代码为:

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

if (class_exists('Kreait\Firebase\Factory')) {
    echo "Firebase Factory class found!";
    $factory = new \Kreait\Firebase\Factory();
    // 示例:初始化数据库服务
    // $database = $factory->createDatabase();
} else {
    echo "Firebase Factory class NOT found!";
}

2. 重新生成Composer自动加载映射

执行以下命令更新自动加载配置:

composer dump-autoload

3. 验证composer.json配置

打开项目根目录的composer.json,确认require节点是否包含kreait/firebase-php。如果缺失,手动添加后执行composer update:

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

4. 重新完整安装

删除vendor目录和composer.lock文件,重新执行安装命令,确保过程无报错:

rm -rf vendor composer.lock
composer install

内容的提问来源于stack exchange,提问作者adbury

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 14:16:10