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
успешно выполнил для меня.