На этот вопрос уже есть ответ здесь:
Я установил свежий Ubuntu 13.10 на свой ноутбук. Как и обычно, я устанавливаю пакеты, необходимые для веб-разработки, а именно: nginx, php5-fpm, mysql, php5-mysql, php5-mcrypt и некоторые другие.
Обычно это работает после редактирования некоторых файлов конфигурации.
Но сегодня, начиная с 13.10, вместо ожидаемой веб-страницы появляется ошибка.
Laravel requires the Mcrypt PHP extension.
Пакет php5-mcrypt был установлен и переустановлен.
Команда php -m
, похоже, не отображает mcrypt.
Есть идеи, откуда могла взяться проблема? Я делал эту настройку много раз, и она всегда работала.
У меня была та же проблема после того, как я обновил до 13,10 этим вечером. По-видимому, это - подлинная ошибка Ubuntu 13.10: “phpmyadmin не распознают php5-mcrypt”. Модули PHP были перемещены от conf.d
каталог к mods-available
каталог и mcrypt модуль были оставлены позади.
Для фиксации его, я поместил символьную ссылку на mcrypt.ini
файл в конфигурации PHP.
Если Вы используете Apache (а не php-fpm):
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini
sudo service apache2 restart
Или для php-fpm (а не Apache):
Сделайте символьную ссылку на ini файлы в доступном модификациям
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
Включите модификации
sudo php5enmod mcrypt
Перезапуск FPM
sudo service php5-fpm restart
Или используйте:
sudo apt-get install php5-mcrypt
Я не уверен, что это будет работать на стандартных установках php - я установил php 5.5.7, используя пакет из:
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update