Конфликт установки композитора и php для laravel 4 artisan

привет, я начинаю работать с Laravel 4, я завершил процесс установки с помощью композитора, но при попытке использовать ремесленник он всегда выдает сообщение

Laravel требует расширения Mcrypt PHP

Я проверил с помощью php_info (), он показывает мне, что расширение Mcrypt PHP включено, после поиска в Интернете я нашел несколько решений, если я их применяю, композитор перестает работать наоборот. Я использую XAMPP для разработки, если я использую команду which php в терминале, она показывает мне путь / usr / bin / php, но мой php для разработки находится в / Applications / XAMPP / xamppfiles / bin, я расширил $ ​​PATH с помощью .bash_profile

export XAMPP_PHP=/Applications/XAMPP/xamppfiles/bin
export PATH="$XAMPP_PHP:$PATH"

после этого ремесленник начинает работать отлично, но композитор перестает работать, если я набираю команду композитора в терминале, она показывает ???? вывод, теперь я хочу, чтобы композитор, php и ремесленник работали идеально, просто ищу хорошие настройки


person umefarooq    schedule 09.05.2013    source источник
comment
вы уверены, что у вас установлен PHP ›= 5.3.7? Также - запустите PHPInfo - он там показывает mcrypt?   -  person Laurence    schedule 10.05.2013
comment
ну на xampp у меня есть php 5.3.1, а на родном Mac osx php - 5.3.8   -  person umefarooq    schedule 10.05.2013
comment
извините, на Mac OS версия PHP - 5.3.15, но расширение PHP Mcrypt отсутствует   -  person umefarooq    schedule 10.05.2013


Ответы (2)


Если он выводит ???? скорее всего, это означает, что в вашем php.ini есть detect_unicode = On. Это должно быть отключено, потому что это нарушает работу файлов phar.

person Seldaek    schedule 10.05.2013

Я решил эту проблему с помощью обходного пути. Вместо изменения переменной $ PATH в / usr / bin / я создал символическую ссылку на PHP XAMPP:

cd /usr/bin/
ln -s /Applications/XAMPP/xamppfiles/bin/php phpx

'phpx' - это имя, которое я дал для запуска php на XAMPP (выберите имя, которое вы предпочитаете - очевидно, что оно должно отличаться от 'php'). Таким образом, я могу запустить artisan, используя phpx (версия XAMPP), в котором есть mcrypt. Например:

phpx artisan key:generate

И если вам нужно запустить композитор, вы запускаете php (версия для Mac):

php composer.phar install

Это обходной путь, я им не горжусь, но он работает.

Лучшим решением будет установка mcrypt на ваш Mac (используйте this tutorial), mysql и используйте php для Mac. Но поскольку многие разработчики (включая меня) по-прежнему полагаются на XAMPP, этого обходного пути может быть достаточно для тестирования.

person Gledsley Muller    schedule 30.05.2013