Не удаётся установить 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 шт):
Вам нужно установить расширение 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.