ERROR: Script php artisan с явным компилятором обрабатывает событие post-install-cmd, возвращенное с ошибкой

Я пытаюсь создать проект laravel с этим:

Nicoles-MacBook-Pro:htdocs nicolekajatt$ composer create-project laravel/laravel guia-telefonica

И я получаю это:

Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-install-cmd event returned with an error



  [RuntimeException]  
  Error Output:       



create-project [-s|--stability="..."] [--prefer-source] [--prefer-dist] [--repository-url="..."] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--keep-vcs] [--no-install] [package] [directory] [version]

Я пробовал этот учебник, чтобы исправить это, но проблема остается http://laravel.io/forum/02-08-2014-difficulty-installing-laravel-getting-error-mcrypt-php-extension-required?page=1

Что я могу сделать? Спасибо за помощь

Ответ 1

Следующие шаги были полезны для меня на Ubuntu:

  • Установите php5-mcrypt, используя:

    apt-get install php5-mcrypt

  • Активировать расширение mcrypt:

    php5enmod mcrypt

  • Убедитесь, что он загружен:

    php -i | grep mcrypt

вы должны увидеть mcrypt support => enabled, если он активирован.

Ответ 2

Если вы находитесь на Macintosh, попробуйте следующее:

cd ~ ; mkdir mcrypt ; cd mcrypt

Получить libmcrypt 2.5.8 из Sourceforge.

Получить php-код в формате tar.gz или .bz2 - (найдите свою версию PHP, запустив php -v)

Переместите оба этих файла, которые вы загрузили в свой рабочий каталог - mcrypt в этом случае, и вернитесь в Terminal

cd ~/mcrypt

Разверните оба файла, дважды щелкнув их в Finder.

Удаление сжатых архивов

Сменить каталог в libmcrypt

cd libmcrypt-2.5.8

./configure

make

sudo make install

С установленным libmcrypt и установленными библиотеками время для создания расширения mcrypt.

Если вы видите ошибки Autoconf

cd ~/mcrypt
curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
tar xvfz autoconf-latest.tar.gz
cd autoconf-2.69/
./configure
make
sudo make install

Компилировать расширение mcrypt php

cd ../php-5.4.17/ext/mcrypt/
/usr/bin/phpize
./configure
make
sudo make install

Откройте /etc/php.ini и добавьте строку ниже в конце

extension=mcrypt.so

Если нет файла php.ini, вам нужно сделать его из файла php.ini.default в том же месте, что и в этом случае:

sudo cp /etc/php.ini.default /etc/php.ini

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

sudo chmod u+w  /etc/php.ini

Затем добавьте строку, как указано выше, в ваш любимый текстовый редактор:

sudo nano /etc/php.ini

Наконец перезапустите Apache

sudo apachectl restart

Теперь вы должны установить Laravel.

ИСТОЧНИК: http://coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-9-mavericks-development-server/

Ответ 3

Если вы используете Macports, это работает: через http://rowdydesign.com/blog/2014/04/using-php-composer-under-mac-os-x-with-macports

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

sudo ln -s /opt/local/bin/php54 /opt/local/bin/php
sudo ln -s /opt/local/bin/php-config54 /opt/local/bin/php-config
sudo ln -s /opt/local/bin/phpize54 /opt/local/bin/phpize

и измените php54 на любую версию php, которую вы используете, то есть php53, php55

Ответ 4

В OS X вы можете установить расширение mcrypt через Homebrew, т.е.

$ brew install php56-mcrypt

(Вы можете захотеть brew search mcrypt найти версию, подходящую для вашей версии PHP.)

После этого composer успешно выполнил для меня.