PHP-драйвер MongoDB в OS X Mojave. Проблемы

Я использую версию PHP по умолчанию, которая поставляется с Mojave. PHP 7.1.19. Я установил драйвер PECL mongodb 1.5.3. Чтобы установить драйвер PECL mongodb, мне пришлось отключить csrutil в режиме восстановления. Когда csrutil отключен, драйвер работает. Когда я снова включаю csrutil, драйвер больше не загружается.

Я получаю эту ошибку.

Предупреждение PHP: запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib/php/extensions/no-debug-non-zts-20160303/mongodb.so' - dlopen (/ usr / lib / php / extensions / no-debug -non-zts-20160303 / mongodb.so, 0x0009): подпись кода в (/usr/lib/php/extensions/no-debug-non-zts-20160303/mongodb.so) недопустима для использования в процессе: сопоставленный файл нет cdhash, полностью без подписи? Код должен быть подписан как минимум специально. в Неизвестном в строке 0

Судя по всему, это из-за неподписанного пакета. Понятия не имею, что я могу сделать, чтобы решить эту проблему. Есть у кого мысли?


person Corey Welch    schedule 27.10.2018    source источник
comment
Совет: вместо того, чтобы добавлять ответ в качестве редактирования к исходному вопросу, рассмотрите возможность отправки его как фактического ответа. Нет никаких правил против этого, это приветствуется, это четко разделит вопрос и ответ, и другим пользователям будет легче узнать, что на этот вопрос есть ответ.   -  person B. Fleming    schedule 28.10.2018
comment
эй, хороший ресурс. Подумайте об ответе на свой вопрос здесь.   -  person YvesLeBorg    schedule 28.10.2018
comment
Хорошая точка зрения. Я отвечу на него и удалю правку. Спасибо!   -  person Corey Welch    schedule 29.10.2018


Ответы (1)


Я закончил тем, что просто выбросил версию PHP по умолчанию для Mac OS и использовал версию Homebrews PHP 7.2. Это решило мои проблемы. Используя версию Homebrews, вам не нужно отключать csrutil.

Хорошая ссылка для помощи с установкой.

https://getgrav.org/blog/macos-mojave-apache-multiple-php-versions

person Corey Welch    schedule 29.10.2018