Как установить расширение mcrypt для php 7.1 на MacOS 12 для разработки Laravel?

Это сводит меня с ума, и все онлайн-уроки не помогли.

Я только что обновился до нового Mac с MacOS Sierra (10.12.1) и пытаюсь настроить свою среду разработки. Однако всякий раз, когда я запускаю обновление композитора или установку композитора в своем проекте, я получаю следующее сообщение:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20131226/mcrypt.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20131226/mcrypt.so, 9): image not found in Unknown on line 0
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for laravel/framework v5.0.35 -> satisfiable by laravel/framework[v5.0.35].
    - laravel/framework v5.0.35 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
  Problem 2
    - laravel/framework v5.0.35 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
    - tom-lingham/searchy 2.0.10 requires illuminate/support 5.* -> satisfiable by laravel/framework[v5.0.35].
    - Installation request for tom-lingham/searchy 2.0.10 -> satisfiable by tom-lingham/searchy[2.0.10].

  To enable extensions, verify that they are enabled in those .ini files:
    - /etc/php.ini

Я запустил brew install mcrypt, и он уже установлен.

Warning: mcrypt-2.6.8 already installed

В системе работает php 7.1, поэтому я также запустил brew install php71-mcrypt.

extension=mcrypt.so был включен в файлы php.ini, как на моей машине, так и на бродячей машине.

Любая помощь будет высоко оценена, так как я занимаюсь этим уже 2 дня!


person Elthomson    schedule 10.12.2016    source источник
comment
Лучше не использовать mcrypt, он уже почти десять лет является заброшенным. Поэтому он объявлен устаревшим и будет удален из ядра и включен в PECL в PHP 7.2. Он не поддерживает стандартное заполнение PKCS#7 (урожденное PKCS#5), а только нестандартное нулевое заполнение, которое нельзя использовать даже с двоичными данными. mcrypt содержит множество нерешенных ошибок, начиная с 2003 года. Вместо этого рассмотрите возможность использования defuse или RNCryptor, они обеспечивают полное решение, поддерживаются и являются правильными.   -  person zaph    schedule 10.12.2016


Ответы (1)


Поскольку вы используете бродягу, вам нужно установить mcrypt на бродячей машине. проверьте, какую версию php вы установили на vagrant, и установите mcrypt, используя

sudo apt-get install *{mcrypt-version-here}*

перезапустите апач с помощью

sudo service apache2 restart
person pseudoanime    schedule 10.12.2016
comment
Спасибо!!!! Работал отлично. Не могу поверить, что это было так просто. Легенда - person Elthomson; 10.12.2016