Проблема с установкой библиотеки mcrypt на Mavericks (10.9)

Мне удалось успешно установить расширение mcrypt на Mountain Lion, но у меня возникли трудности с установкой расширения на Mavericks.

Для справки, я следую этому руководству: http://www.coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-9-mavericks-development-server/

Единственное несоответствие, которое я заметил, заключается в том, что при запуске php -v из командной строки я показываю версию PHP 5.3.15, тогда как на веб-сервере работает версия 5.4.17. Я скачал 5.4.17 для компиляции mcrypt.

В принципе, все идет по плану до самого конца. Вместо установки общих расширений в новый каталог /usr/lib/php/extensions/no-debug-non-zts-20100525 я получаю сообщение:

Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20090626/

ИЗМЕНИТЬ:

Проблема заключается в том, что PHP веб-сервера был скомпилирован с модулем API: 20100525, а система все еще использует 5.3.15 (то есть API: 20090626), отсюда и ошибка.

Я предполагаю, что вы не можете (легко) обновить системную версию PHP. Что мне нужно сделать, чтобы модуль и PHP API совпадали?

Заранее благодарю за любую помощь.


person Phil Birnie    schedule 01.11.2013    source источник


Ответы (2)


Для справки других, нашедших эту тему ..

Вот автоматический установщик Mcrypt для 10.8 и 10.9. http://topicdesk.com/downloads/mcrypt/mcrypt-download

Менее минуты, чтобы установить этот путь.

person Jeff    schedule 11.12.2013
comment
@ Philip007, у вас должен быть установлен php.ini перед его установкой. sudo cp /etc/php.ini.default /etc/php.ini - person ricardgf; 16.09.2014

Я заметил, что php 5.4.17 находится в /usr/bin, а 5.3.15 — в /usr/local/bin,

so I:

  • создал символические ссылки в /usr/local/bin на phpize и php в /usr/bin.
  • После того, как я убедился, что phpize -v и php указывают на правильную версию, нужно было просто перекомпилировать расширение mcrypt. После этого расширения были установлены в правильный каталог:

Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20100525/

Оглядываясь назад, я думаю, что все, что мне нужно было сделать, это добавить /usr/bin к моей переменной пути, чтобы она проверяла /usr/bin перед /usr/local/bin.

person Phil Birnie    schedule 01.11.2013