Подтвердить что ты не робот

Установка mcrypt на OSX 10.8.2 - PHP 5.3.15 с homebrew

Я успешно установил mcrypt через homebrew, но я пытаюсь найти путь к mcrypt.so, чтобы включить его как расширение в php.ini.

mcrypt был установлен в /usr/local/Cellar/mcrypt/2.5.8. Дерево:

-- AUTHORS
|-- ChangeLog
|-- INSTALL_RECEIPT.json
|-- NEWS
|-- README
|-- TODO
|-- bin
|   `-- libmcrypt-config
|-- include
|   |-- mcrypt.h
|   `-- mutils
|       `-- mcrypt.h
|-- lib
|   |-- libmcrypt.4.4.8.dylib
|   |-- libmcrypt.4.dylib -> libmcrypt.4.4.8.dylib
|   `-- libmcrypt.dylib -> libmcrypt.4.4.8.dylib
`-- share
    |-- aclocal
    |   `-- libmcrypt.m4
    `-- man
        `-- man3
            `-- mcrypt.3

Я попытался включить mcrypt.h в php.ini:

extension="/usr/local/Cellar/mcrypt/2.5.8/include/mcrypt.h"

а затем перезапустили apache. но это не сработало.

когда я запускаю php в терминале, я получаю:

PHP Warning:  PHP Startup: Unable to load dynamic library
'/usr/local/Cellar/mcrypt/2.5.8/include/mcrypt.h' - dlopen(/usr/local/Cellar/mcrypt/2.5.8/include/mcrypt.h, 9): 
image not found in Unknown on line 0
4b9b3361

Ответ 1

Сначала проверьте, обновляется ли brew:
brew doctor

Вторая установка mcrypt на основе версии php:
brew install php53-mcrypt

NB: Шаг 3 ниже не требуется в последних версиях brew:

Третий открытый файл php.ini и добавьте ссылку:
sudo vi /private/etc/php.ini
extension="/usr/local/Cellar/php53-mcrypt/5.3.25/mcrypt.so"

Наконец, перезапустите apache:
sudo apachectl restart

Ответ 2

После нескольких часовых советов, этот работал у меня (установлен через MacPorts):

Предоставлено Chris Brewer:

Загрузите и установите MacPorts с http://macports.org.

В терминале выполняются следующие шаги:

Принудительно обновить MacPorts (будет работать только если Apple Xcode установлен):

sudo port -v selfupdate

Теперь установите memcached:

sudo port install php5-mcrypt

Скопируйте вновь созданный общий объект для mcrypt в каталог расширения PHP5 по умолчанию Mac OS Xs:

sudo cp /opt/local/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so /usr/lib/php/extensions/no-debug-non-zts-20090626/

Затем вам нужно отредактировать php.ini, чтобы добавить расширения. Найдите фразу "Динамические расширения" и добавьте:

extension=mcrypt.so

И, наконец, перезапустите Apache:

sudo apachectl restart

Ответ 3

Я решил проблему с этим

brew install php54-mcrypt --without-homebrew-php

Затем я добавляю эту строку в /etc/php.ini.

extension="/usr/local/Cellar/php54-mcrypt/5.4.24/mcrypt.so"

Если этот файл не существует, его необходимо скопировать из /etc/php.ini.default. Также я проверяю версию моего php с помощью php -v (И это было 5.4.x)

Ответ 4

Я ценю работу, которую вы сделали на этом! Это сработало для меня. Я нахожусь на mac, и он искал xcode. Место разработчика не было установлено, поэтому я должен был все это сделать.

(ПОСТАНОВЛЯЙТЕ ПУТЬ РАЗВИТИЯ) Как я могу разрешить "Ошибка: нет каталога разработчика, найденной в /Developer" ?

  • sudo xcode-select -switch/Applications/Xcode.app/Contents/Developer

(ПОДПИСАТЬ СОГЛАШЕНИЕ ДЛЯ ИСПОЛЬЗОВАНИЯ XCODE)

  1. sudo xcodebuild -license

Наконец, следуйте приведенным выше шагам!

Ответ 5

Работал как кусок пирога с этим.

$ brew install mcrypt
Warning: mcrypt-2.6.8 already installed
$ brew install php55-mcrypt
Warning: php55-mcrypt-5.5.20 already installed

Затем проверьте:

$ php -m | grep mcrypt
mcrypt

$ php -i | grep mcrypt
Additional .ini files parsed => /usr/local/etc/php/5.5/conf.d/ext-mcrypt.ini,
Registered Stream Filters => zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, mcrypt.*, mdecrypt.*
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

Ответ 6

Это может оказаться полезным...

  • brew нажмите homebrew/homebrew-php
  • brew установить php56-mcrypt