Невозможно запустить MongoDB с Laravel и MacOS Catalina - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь развернуть Laravel с MongoDB, используя этот пакет:

https://github.com/jenssegers/laravel-mongodb

Я следовал этим инструкциям для установки MongoDB:

https://zellwk.com/blog/install-mongodb/

Однако, следуя этим инструкциям, похоже, не удалось установить драйвер mon go php, так как Laravel выдает ошибку:

Class 'MongoDB\Driver\Manager' not found

и проверяя мою php .info, драйвера mon go нет в списке.

Большинство инструкций, которые я нашел для установки драйвера mon go php, рекомендуют использовать:

sudo pecl install mongodb

К сожалению, будучи на Catalina, pecl больше не работает правильно, так как Apple удалила заголовочные файлы php, поэтому большинство команд pecl приводят к ошибке:

fatal error: 'php.h' file not found

Итак, какие именно у меня варианты? Как правильно загрузить драйверы mon go в php? Я что-то упускаю из виду?

ОБНОВЛЕНИЕ: я следовал этим инструкциям и смог исправить ошибку php .h.

{ ссылка }

На этом этапе Я начал получать новую ошибку при запуске pecl:

ERROR: failed to mkdir /usr/local/Cellar/php/7.2.5/pecl/20170718

Я решил эту проблему, выполнив следующие инструкции:

https://javorszky.co.uk/2018/05/03/getting-xdebug-working-on-php-7-2-and-homebrew/

Хотя инструкции по установке xdebug, проблема такая же для mongodb. В каталоге, где pecl пытается создать новый каталог, есть неиспользуемая символическая ссылка. Удалите символическую ссылку, и затем pecl может создать каталог, который ему нужен.

Затем я обновил путь для mongodb.so в моем php .ini, создал файл ext-mongodb.ini и перезапустил apache. MongoDB теперь появляется в моем php .info. Мне кажется, что я, возможно, сделал этот процесс установки ненужно сложным, сделав что-то не так, но, возможно, кто-то другой найдет мой опыт полезным.

...