Я использую версию 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
Судя по всему, кажется, что это из-за неподписанного пакета. Я понятия не имею, что я могу сделать, чтобы решить эту проблему. У кого-нибудь есть мысли?
В итоге я просто выбросил версию PHP для Mac по умолчанию и использовал версию Homebrews PHP 7.2. Это решило мои проблемы. При использовании версии Homebrews вам не нужно отключать csrutil.
Хорошая ссылка для помощи с установкой.
https://getgrav.org/blog/macos-mojave-apache-multiple-php-versions
Других решений пока нет …