2016-12-10 6 views
1

Это сводит меня с ума, и после всех онлайн-уроков не помогло.Как установить расширение 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 

Я запустить варево установить Mcrypt и она уже установлена.

Warning: mcrypt-2.6.8 already installed 

Система работает PHP 7.1, так что я также запустить заварить установить php71-Mcrypt

расширения = mcrypt.so был включен в файлах php.ini, как на моей машине, и я пытался это внутри машины бродяг.

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

+0

Это лучше не использовать Mcrypt, это было Abandonware в течение почти десяти лет. Поэтому он устарел и будет удален из ядра и в PECL в PHP 7.2. Он не поддерживает стандартное дополнение PKCS # 7 (née PKCS # 5), только нестандартное нулевое заполнение, которое нельзя даже использовать с двоичными данными. В mcrypt есть много выдающихся [ошибок] (https://sourceforge.net/p/mcrypt/bugs/), относящихся к 2003 году. Вместо этого подумайте об использовании [defuse] (https://github.com/defuse/php-encryption) или [RNCryptor] (https://github.com/RNCryptor), они обеспечивают полное решение, поддерживаются и верны. – zaph

ответ

1

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

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

рестарта апаша с использованием

sudo service apache2 restart 
+0

спасибо !!!! Работала отлично. Не могу поверить, что все было так просто. легенда – Elthomson