Я пытаюсь использовать php с firebase, но у меня возникает эта ошибка, когда я пытаюсь запустить код.
Неустранимая ошибка: Uncaught Error: вызов неопределенного метода Kreait\Firebase\Factory::getDatabase() в C:\xampp\htdocs\table\includes\db.php в строке 10
файл 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"
}
}
как я могу это решить?
Вы установили версию 5.0.0 Firebase Admin SDK для PHP, но руководство, которому вы следовали, предназначено для версии 4.x.
Это проблема, которая возникает так часто, что ей посвящен отдельный раздел в разделе «Устранение неполадок» в документации SDK.
В версии 5.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"
}
}
Это позволит вашему проекту получить последнюю версию SDK 5.x.
Вы видели ссылку? stackoverflow.com/questions/48023499/… и stackoverflow.com/questions/60397030/…