Установите mongodb на Mac OS 10.15 для php7 - PullRequest
0 голосов
/ 06 ноября 2019

Я установил mongodb на мой Mac Catalina 10.15. У меня установлена ​​версия php7.3. Теперь я хочу использовать класс mongoClient () с PHP. Я попытался composer require mongodb/mongodb, но он говорит, что расширение mongodb отсутствует:

Using version ^1.5 for mongodb/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- mongodb/mongodb 1.5.1 requires ext-mongodb ^1.6 -> the requested PHP extension mongodb is missing from your system.
- mongodb/mongodb 1.5.0 requires ext-mongodb ^1.6 -> the requested PHP extension mongodb is missing from your system.
- Installation request for mongodb/mongodb ^1.5 -> satisfiable by mongodb/mongodb[1.5.0, 1.5.1].

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

Installation failed, reverting ./composer.json to its original content.

Поэтому я попытался установить расширение для php, используя php doc , и я получаю эту ошибку:

pear/install/mongodb/php_phongo.c  -fno-common -DPIC -o .libs/php_phongo.o
/private/tmp/pear/install/mongodb/php_phongo.c:22:10: fatal error: 'php.h' file not found
#include <php.h>
          ^~~~~~~
1 error generated.
make: *** [php_phongo.lo] Error 1
ERROR: `make' failed

Любая помощь?

Ответы [ 2 ]

0 голосов
/ 07 ноября 2019

Я исправил это, установив PHP7.3 с помощью homebrew, вот пост, который помог Установка PHP 7.3 + xdebug на MacOS Catalina (с homebrew)

0 голосов
/ 07 ноября 2019

Я также обновил macos до 10.15 catalina и начал установку. Как и ошибка при установке драйвера mongodb

После устранения проблемы я обновил ответ, выполнив следующие шаги:

Шаг 1: Запустите команду: brew install php71

Шаг 2: Отредактируйте httpd.conf в каталоге /etc/apache2/httpd.conf

Добавить строку ниже

LoadModule php7_module /usr/local/opt/php@7.1/lib/httpd/modules/libphp7.so

, затем убедитесь, что другие php7_module не включены.

Также добавьте эти строки

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

Шаг 3: Перезапустите apache: sudo apachectl restart

Шаг 4: Если вам нужно, чтобы php@7.1 был первым в вашемЗапуск PATH: echo 'export PATH = "/ usr/local/opt/php@7.1/bin: $ PATH"' >> ~ / .bash_profile echo 'export PATH = "/ usr/local/opt/php@7.1/sbin: $ PATH "'>> ~ / .bash_profile

Чтобы компиляторы могли найти php@7.1, вам может потребоваться установить: export LDFLAGS =" - L/usr/local/opt/php@7.1/lib "exportCPPFLAGS = "- I/usr/local/opt/php@7.1/include"

Шаг 5: Для запуска запустите php@7.1 и перезапустите при входе в систему: brew services start php@7.1

Шаг 6: Откройте новый терминал ипроверьте версию php, и она должна быть 7.1

Шаг 7: Затем выполните команду: sudo pecl install MongoDB

и она успешно установит драйвер php mongodb без каких-либо ошибок. Убедитесь, что все шаги выполнены !!

Я сделал эти шаги, чтобы решить проблему с драйвером MongoDB для проекта laravel, которая не найдена.

...