Добавить расширение imap в PHP на OSX El Capitan

1

Я работаю над проектом, где мне нужна функция imap_open(), и я только что купил свой первый MacBook Pro с OSX El Capitan.

Я активировал расширение в php.ini, но файл.so отсутствует, поиск по установке расширения imap не работает на El Capitan, а во время компиляции я получаю сообщение об ошибке osdep.c:170:10: fatal error: 'x509v3.h' file not found

Кто-нибудь знает, что мне нужно установить для получения этого файла заголовка или есть простой способ установить расширение, например, в Linux (yum install php5-imap, apt-get install php5-imap)?

Теги:
macos
imap
osx-elcapitan

4 ответа

3
Лучший ответ

На прошлой неделе у меня была такая же проблема, и мне удалось ее решить. Проблема заключается в том, что файл imap make предполагает, что ваш открытый ssl находится в /usr/include/openssl, тогда как на моем mac он находился в /usr/local/Cellar/openssl/1.0.2d_1/include/openssl

Вы можете использовать поиск x509v3.h, чтобы найти точный путь

Следуя шагам отсюда... После шага cd imap-2007f

откройте Makefile, найдите OSX и измените путь ssl include к вашему пути.

Это должно решить проблемы с компиляцией, поэтому вы сможете продолжить до последнего шага, когда вам нужно будет скопировать imap.so в /usr/lib/php, что будет невозможно из-за новой функции SIP на El Capitan

Посмотрите здесь, как переопределить это ограничение. Я надеюсь, что это поможет

3

Я столкнулся с этим при установке SSL для IMAP в MAMP на El Capitan. Иван хорошо, но я нашел несколько следующих проблем одного типа:

fatal error: 'openssl/bio.h'

Вместо изменения Makefile создайте символическую ссылку:

sudo ln -s /usr/local/Cellar/openssl/1.0.2a-1/include/openssl /usr/include/openssl

Но для этого вы должны сначала удалить "Эль-Капитан" безумную "безопасную" инвалидность, как сказал Иван. Загрузите, удерживая + R, запустите терминал и напишите csrutil disable. Затем reboot.

  • 0
    Убедитесь, что версия openssl такая же, как на вашем компьютере (1.0.2a-1 в ответе)
1

Я использую это руководство для установки на моей среде Mamp, работающей для меня

1

Хотя я понимаю, что это прямо не отвечает на ваши вопросы, самый простой способ заставить PHP работать с IMAP, установленным на OSX, - это установить MAMP (https://www.mamp.info). Он устанавливает вторую копию PHP и Apache в свою собственную структуру каталогов, поэтому она создает отличную локальную среду разработки для этих продуктов.

Добавленный бонус здесь - это не коснется вашей предустановленной версии PHP, поэтому, если вам не нравится MAMP, вы можете просто удалить ее. Очень просто.

  • 0
    О чувак. У меня уже был установлен MAMP, я просто забыл даже посмотреть, есть ли в его PHP то, что мне нужно .... И он сделал! Спасибо!
  • 1
    Имейте в виду, что PHP в комплекте с MAMP не компилируется с использованием --with-imap-ssl, поэтому, если вам нужен ssl, вам не повезло, и вам придется перекомпилировать себя.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню