2015-11-04 1 views
1

Я работаю над проектом, где мне нужна функция imap_open(), и я только что купил свой первый MacBook Pro с OSX El Capitan.Добавить расширение imap в PHP на 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)?

ответ

3

У меня была такая же проблема на прошлой неделе, и мне удалось ее решить. Проблема заключается в том, что IMAP сделать файл предполагается, что Open SSL находится в/USR/включать/OpenSSL в то время как на моем макинтоше это было в /usr/local/Cellar/openssl/1.0.2d_1/include/openssl

You можно использовать найти x509v3.h найти точный путь

Следуя ступеньки от here ... После шага кд IMap-2007f

открыть Makefile, поиск OSX и изменить SSL включать путь к вашему путь

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

Have a посмотреть here как отменить это ограничение Надеюсь, это поможет

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

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

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

+0

О, человек , У меня уже установлен MAMP, я просто забыл даже посмотреть, есть ли у его PHP то, что мне нужно ... И это было! Благодаря! –

+1

Помните, что PHP, связанный с MAMP, * не * скомпилирован с использованием --with-imap-ssl, поэтому, если вам нужен ssl, вам не повезло и вам придется перекомпилировать себя. – twistedpixel

1

Я использую this руководство, чтобы установить его на моей среде MAMP работал для меня

Смежные вопросы