2013-04-12 4 views
3

Я пытаюсь установить mcrypt для использования в среде моего локального компьютера. Мне нужно установить Magento.Как связать mcrypt?

Я использовал этот ответ install mcrypt, но получаю следующее сообщение об ошибке:

$ brew link mcrypt 
Linking /usr/local/Cellar/mcrypt/2.5.8... Warning: Could not link mcrypt. Unlinking... 

Error: Could not symlink file: /usr/local/Cellar/mcrypt/2.5.8/include/mutils/mcrypt.h 
Target /usr/local/include/mutils/mcrypt.h already exists. You may need to delete it. 
To force the link and delete this file, do: 
    brew link --overwrite formula_name 

To list all files that would be deleted: 
    brew link --overwrite --dry-run formula_name 

Попытка переписать ссылки, как предложено в не допускается.

$ brew link --overwrite mcrypt 
Linking /usr/local/Cellar/mcrypt/2.5.8... Warning: Could not link mcrypt. Unlinking... 

Error: Permission denied - /usr/local/include/mutils/mcrypt.h 

Предоставление этой команды с помощью «sudo» не устраняет эту проблему, поскольку это также запрещено.

Запуск php -m не показывает Mcrypt как установленный модуль, а также выдает следующее сообщение об ошибке:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20100525/mcrypt.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20100525/mcrypt.so, 9): image not found in Unknown on line 0 

Все это, как представляется, связано с тем, что я не могу связать это, я просто не могу похоже, решают эту проблему. Кто-нибудь сталкивался с этим? Спасибо за любую помощь, которую вы можете предоставить.

+0

Какие дистрибутивы Linux вы используете, и попытались ли вы установить их как пользователя root? –

+0

@ R.S - команда 'brew' указывает, что он использует' homebrew', что указывает на то, что он использует OS X. –

+0

Да, я использую OS X mountain lion. Извините, я не упомянул об этом с самого начала. – Thomas

ответ

3

Томас, от того, что я могу видеть выше, похоже, вы пытаетесь использовать Homebrew установить mcrypt пакет к вашему системе, но mcrypt уже установлена ​​другая система управления пакетами (или может поставляться по умолчанию в вашей версии OS X - не отставать от этих вещей)

Поскольку Mcrypt уже установлена ​​на вашем * NIX системы, что вам нужно сделать, это установить расширение PHP для mycrypt, или установите версию PHP, которая поддерживает mcrypt из коробки.

Мой обычный подход к использованию заключается в использовании пакета hp-osx.liip.ch (который, кажется, является преемником старого пакета entropy.ch Марка Лиянажа). Это устанавливает автономную версию PHP в виде двоичного файла и должна иметь библиотеки, необходимые для запуска Magento.

+0

У меня создалось впечатление, что 'brew install mcrypt php53-mcrypt' установил расширение php - знаете ли вы, правильно ли это? Если это правильно, я уже установил расширение и просто хочу связать, но не смог этого сделать. – Thomas

+0

@thomas Я больше «человек портов», и этот материал - бесконечный каскад перестановок, но, надеюсь, это помогает: команда 'brew install mcrypt' устанавливает' mycrypt'. Команда 'brew install php53-mcrypt' устанавливает PHP 5.3 с расширением mycrypt. Команда 'brew install mcrypt php53-mcrypt' устанавливает' mcrypt', а затем устанавливает PHP 5.3 с расширением mcrypt. Homebrew не будет создавать символическую ссылку на mcrypt, потому что ** там уже есть mcrypt ** в/usr/local из чего-то другого. Быть доморощенным ударом это, вероятно, будет плохой идеей. Похоже, все, что вам нужно, это PHP с mcrypt. –

+0

@ Томас, получивший ошибку PHP, потому что не смог загрузить расширение :) У меня была та же проблема. Если вы запустите команду locate. Например. найдите mcrypt.so, он покажет, где он находится. Предположим, что вы используете запас PHP. PHP /etc/php.ini находит строку mcrypt и заменяет пути. В противном случае на моем Mac я запускаю бродягу с настоящим стеком LAMP для разработки magento, и он работает намного лучше. –

3

Я на самом деле просто столкнулся с этой проблемой во второй раз. Не помню, как я решил это в первый раз. Что на меня на этот раз работало, я фактически удалил файл mcrypt.h под mutils. Затем, когда я запустил brew link --overwrite mcrypt, он успешно связан. Затем я побежал brew install php53-mcrypt, и это, казалось, сделало трюк. Также перезапустите сервер.

Не удивлюсь, если это не сработает для всех, но это сработало для меня.

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