Не удаётся установить MongoDB под Laravel

Не удаётся установить MongoDB. Что я ни вводил, я ничего не могу с этим поделать.

Admin@DESKTOP-F3SQANN c:\xampp_7.3\htdocs\expressnails.ru
# composer install
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Your lock file does not contain a compatible set of packages. Please run composer update.

  Problem 1
    - mongodb/mongodb is locked to version 1.9.0 and an update of this package was not requested.
    - mongodb/mongodb 1.9.0 requires ext-mongodb ^1.10.0 -> it is missing from your system. Install or enable PHP's mongodb extension.
  Problem 2
    - mongodb/mongodb 1.9.0 requires ext-mongodb ^1.10.0 -> it is missing from your system. Install or enable PHP's mongodb extension.
    - jenssegers/mongodb v3.6.8 requires mongodb/mongodb ^1.4 -> satisfiable by mongodb/mongodb[1.9.0].
    - jenssegers/mongodb is locked to version v3.6.8 and an update of this package was not requested.

To enable extensions, verify that they are enabled in your .ini files:
    - C:\xampp_7.3\php\php.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

У меня стоит PHP 7.3.29, а основная задача - достучаться до сайта и взглянуть на вёрстку. Возможно ли заставить PHP игноировать ошибки и отобразить статическую страницу или всё-таки можно как-то установить эти зависимости?


Ответы (1 шт):

Автор решения: VenZell

Вам нужно установить расширение mongodb для php вручную. Как правильно сообщает вам Composer, а также говорят вам комментариях, Composer не устанавливает расширения для PHP автоматически.

Само расширение нужно скачать с сайта windows.php.net. Для PHP версии 7.3.29 подойдет актуальная на текущий момент версия расширения 1.9.2.

При загрузки расширения mongodb вам нужно знать: 32 или 64-битная у вас версия PHP, а также она потокобезопасная или нет. Гипотетически, на этой версии XAMPP у вас должна быть 32-битная потокобезопасная версия PHP (x86, TS).

Чтобы узнать наверняка, вы можете выполнить следующую команду в консоли:

c:\xampp_7.3\php\php.exe -r "echo (PHP_INT_SIZE == 4 ? '32 bit' : '64 bit') . PHP_EOL;" && php -i | findstr Thread

В ответ вы получите примерно такой вывод:

32 bit
Thread Safety => enabled

Если у вас потокобезопасная 32-битная версия PHP 7.3, скачайте архив с соответствующим именем:

php_mongodb-1.9.2-7.3-ts-vc15-x86.zip

Затем распакуйте файлы php_mongodb.dll и php_mongodb.pdb в папку C:\xampp_7.3\php\ext\ а потом отредактируйте файл C:\xampp_7.3\php\php.ini и добавьте в него строчку:

extension=mongodb

После всех манипуляций перезагрузите Apache.

→ Ссылка