Я пытаюсь использовать мигрировать
функции что Laravel 4
на айфон
. Тем не менее, я получаю следующую ошибку:
Laravel requires the Mcrypt PHP extension.
Насколько я понимаю, это's уже позволили (см. рисунок ниже).
Что не так, и как это можно исправить?
У вас есть МАМП установлен?
Использование которых PHP
в терминале, чтобы увидеть, какую версию PHP вы используете.
Если это's не PHP версии от МАМП, вы должны отредактировать или добавить.файл в пользователя'домашний каталог с, То есть : диск с ~`
В `.файл, добавьте следующую строку:
export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH
Редактировать: во-первых, вы должны использовать CD команды /применения/MAMP/Бен/РНР
, чтобы проверить, какая версия PHP от МАМП вы используете, а затем заменить с PHP выше версии.
Затем "перезагрузка" терминала, чтобы увидеть, что PHP, которую вы используете сейчас.
И он должен работать сейчас.
Веб-с поддержкой расширений и командная строка с поддержкой расширения могут отличаться. Запустить в PHP -м
в терминале и проверьте, чтобы увидеть, если mcrypt указан. Если это's не то проверить, где командная строка загрузка РНР.ini-файл с помощью команды
на PHP --ini-файл из вашего терминала.
В этой версии PHP.ini файл можно включить расширение.
Я слышал от людей, на OSX работает в проблемы из-за терминала, указывающих на родном языке PHP поставляется с OSX. Вы должны обновлять свой профиль Bash для реальный путь к PHP. Что-то вроде этого (я не'т реально использовать в OSX так что это не может быть 100%):
export PATH=/usr/local/php5/bin:$PATH
На более ранних версиях Ubuntu (до 14.04), когда вы запустите судо apt-получить установку пакета php5-mcrypt-это не'т действительно установить расширение в
модов-доступно`. Вы'll необходимо, чтобы симлинк это.
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
На всех версиях Ubuntu вы'll необходимо, чтобы активировать мод после того, как он's установленная. Вы можете сделать это с php5enmod
.
sudo php5enmod mcrypt
sudo service apache2 restart
ноты
- в PHP 7.1 и 7.2 устаревшие mcrypt и удалить расширение mcrypt
- Что Laravel 5.1 и выше удалено необходимость mcrypt
Для тех, кто использует в XAMPP 1.7.3 и Mac
, который на PHP
/usr/Бен/РНР
, то перейдите к пункту 3.. .файл
, который на PHP
. Если вы сделали это правильно, то это должно быть таким же, как путь в #4.Причина ошибки mcrypt-это потому что ваш Mac использует свой родной PHP, вы должны изменить его на один в XAMPP.
С. П. Я'd рекомендую использовать МАМП на фреймворк Laravel 4 для пользователей Mac, этот вопрос будет решаться вместе с PHP файлом информация об ошибке, без седьмого пота, и версия PHP XAMPP является устаревшей.
В Ubuntu (в php-fpm и nginx), который
sudo apt-get install php5-mcrypt
После установки пакета php5-mcrypt
вы должны сделать симлинк на ini-файлы в модс-в наличии:
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
включить:
sudo php5enmod mcrypt
перезагрузите рнр5-бутадиен:
sudo service php5-fpm restart
Получение фреймворк Laravel работает на Apache
Версия PHP : в PHP 5.5.9
Ubuntu версия : 14.04
у меня был проект, что Laravel работает на Windows. когда я скопировал его на сервер Ubuntu , я начал получать ошибки mcrypt. это после долгих часов проб и ошибок
получение команды ремесленник работы
(если у вас возникли ошибки mcrypt, используя инструмент командной строки ремесленник)
я сделал много проб и ошибок каждый раз, когда я выполнить команду php5enmod раньше, у меня были сообщения об ошибках. но на новую установку не было никаких сообщений об ошибках. после этого шага у меня есть команда мастеровых, рабочих
sudo rm /etc/php5/mods-available/mcrypt.ini
sudo apt-get purge php5-mcrypt
sudo apt-get install mcrypt
sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt
исправление ошибки браузера
(если у вас возникли ошибки mcrypt в браузере при доступе к локальным страницы индекса фреймворк Laravel)
sudo nano /etc/php5/apache2/php.ini
добавьте следующую строку в динамически компилируемых раздел расширений РНР Ини
extension=mcrypt.so
перезапускаем Апач-сервер , очистить кэш фреймворк Laravel и все работает
Для PHP-МПФ установки на Ubuntu 14.04, следующие работал для меня :
судо apt-получить установку пакета php5-mcrypt
Это позволит создать mcrypt.ini-файл в каталоге/etc/php5 с/модов-доступно/`
Тогда
судо mcrypt php5enmod
создадим символическую ссылку в: файл/etc/php5 с/ФПМ/конф.д/
Просто перезапустить пхп-ФПМ услуг `судо служба в php5-ФПМ "рестарт"
Для Ubuntu выполните следующие действия, если другие не работают :
кд ~
судо apt-получить удалить в php5-mcrypt
судо apt-получить установку пакета php5-mcrypt
судо mcrypt php5enmod
судо служба apache2 перезагрузка
Надеюсь, что поможет. Спасибо !
Или, используйте:
sudo apt-get install php5-mcrypt
не уверен, если это будет работать на стандартном PHP устанавливает - я установила `в PHP 5.5.7, используя пакет из :
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
Моя ОС Йосемити
.
Я решить эту проблему, найти пути конфигурации:
php --ini
Пример вывода:
Configuration File (php.ini) Path: /usr/local/etc/php/5.5
Loaded Configuration File: /usr/local/etc/php/5.5/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.5/conf.d
Additional .ini files parsed: (none)
Следующие шаги:
Команды:
mv /usr/local/etc/php/5.5/php.ini /usr/local/etc/php/5.5/php.ini.default
ln -s /etc/php.ini /usr/local/etc/php/5.5/php.ini
sudo apachectl restart
Затем вы можете проверить ваш PHP модулей через:
php -m
Просто для yumers,
yum install php-mcrypt
service httpd restart
chown -R apache:apache apppath
Возможно, вам нужно установить Реми РЕПО
Это решено для меня Линукс Минт местной окружающей среды https://askubuntu.com/questions/350942/cannot-get-mcrypt-for-php5
Мне нужно сделать ссылку на мой файл /etc/php5 с/конф.д/mcrypt.ini-файл в следующие папки /и т. д./В php5/apache2 не/конф.д/mcrypt.ini и файл /etc/php5 с/под/конф.д/mcrypt.Ини
Вам нужно все в одной среде. Вы можете использовать МАМП или XAMPP или каких-либо других инструментов. После установки одного из этих инструментов нужно будет изменить(создать) свой .файл(при условии, что вы пользуетесь bash).
Или даже простых и более профессиональных можно использовать фреймворк Laravel усадьбе.
Вот ссылка на официальную документацию: http://laravel.com/docs/5.0/homestead
Также Джеффри имеет бесплатный учебник о ней: https://laracasts.com/series/laravel-5-fundamentals/episodes/2
Я совет вы, чтобы пойти с заимки, потому что вы будете установить все следующие инструменты.
Расширение на @JetLaggy:
После попытки вновь и вновь модифицировать .файл с каталогом МАМП, я изменил разрешения для файлов каталога MAMP PHP и смог получить 'что на PHP', чтобы показать соответствующий каталог. Беда в том, что другие функции не'т работу, как 'на PHP -в'.
Так что я обновил МАМП. http://documentation.mamp.info/en/mamp/installation/updating-mamp
Это сделал трюк для моей конкретной установки. Пришлось скорректировать свой путь, чтобы отражать обновленную версию PHP, но как только я сделал, все работало!
Введите команду которых PHP
в терминале, чтобы увидеть, какую версию PHP вы используете. Если это's не в версии PHP МАМП, при этом переменная $Path для bash должны быть обновлены.
Во-первых, вы должны использовать команда "диски CD /применения/MAMP/Бен/РНР", чтобы проверить, какая версия PHP с MAMP и обратите внимание на версии (например, версии php5.6.7).
Когда вы знаете версию, вы должны изменить ~/.файл bash_profile
(то есть .файл
которая находится в вашей домашней директории) и добавить строку Export:
export PATH=/Applications/MAMP/bin/php/php5.6.7/bin:$PATH
Убедитесь, что вы заменить рнр5.6.7 с версии PHP, которую вы выбрали в MAMP.
После того, как файл был сохранен, убедитесь, что вы закрыть закрыть терминал и снова открыть его. Как только это было сделано, вы будете использовать PHP, что корабли с MAMP.
Один из способов, чтобы легко найти то, что линия должна быть, что нужно положить внутрь .файл
, чтобы запустить следующую команду в вашем терминале:
echo export PATH=`cat /Applications/MAMP/conf/apache/httpd.conf \
| grep php | grep -i LoadModule | head -n1 \
| sed -e 's/^[^\/]*\/\(.*\)\/mod.*/\/\1/'`/bin:\$PATH
Копирование и вставка этих трех линиях на ваш терминал будет правильно выводить PHP версии, которая была выбрана в панели управления MAMP.
Убедитесь, что ваш путь
содержит /usr/местные/Бен/
(доморощенного) или /опт/местные/Бен
(системы MacPorts) если вы используете PHP, который поставляется с любой из этих двух пакетных менеджеров.
Вы можете найти точное местоположение на PHP с помощью системы MacPorts с помощью следующей команды:
port contents php70 | grep bin/php
Обратите внимание, что вы должны заменить `php70 с версии PHP, которую вы установили.
Самодельщик-PHP (с https://github.com/Homebrew/homebrew-php) это кран, который имеет различные версии PHP.
Вы можете найти точное местоположение PHP с помощью доморощенного с помощью следующей команды:
brew --prefix homebrew/php/php56
Обратите внимание, что вы должны заменить `php56 с версии PHP, которую вы установили.
в Ubuntu 14.04
sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt
В Ubuntu 16.04
sudo apt-get install php-mcrypt
sudo phpenmod mcrypt
В Ubuntu 18.04
sudo apt install php7.0-mcrypt
sudo phpenmod mcrypt
или
sudo apt install php7.2-mcrypt
sudo phpenmod mcrypt
Если вы используете оболочка Z, просто выполните следующие действия:
нано ~/.zshrc
источник ~/.zshrc
которых PHP
- вы должны получить МАМП 5.6.10 путь5.6.10-это версия PHP, которую вы установили в МАМП.
$ brew install mcrypt php70-mcrypt
Я бегу на PHP 7.0.X, чтобы изменить назальный php70; вашей версии, если вы используете другую версию.
Как указано в другие ответы, вы можете увидеть вашу версию PHP с $ РНР -в
.
Что Laravel не нужно расширение mcrypt`. mcrypt
является устаревшим, последнее обновление libmcrypt был в 2007 году. Что Laravel 4.2 слишком устарел и больше не поддерживается. Лучше (=безопаснее) решением является обновление на фреймворк Laravel >5.1 (нет ЛТС до того, что Laravel 5.2).
Mcrypt был снят с фреймворк Laravel в июне 2015 года: https://github.com/laravel/framework/pull/9041