Расширение Mcrypt отсутствует на сервере 14.04 для mysql

Расширение php mcrypt в Ubuntu 14.04 показывает, что оно установлено правильно, но phpmyadmin говорит:

 The mcrypt extension is missing. Please check your PHP configuration.

Моя текущая конфигурация php здесь. Если вам нужна дополнительная информация, пожалуйста, свяжитесь со мной через комментарии.

$ sudo apt-get install php5-mcrypt
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    php5-mcrypt is already the newest version.
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

14 ответов

Решение

Попробуй это:

sudo updatedb 
locate mcrypt.ini

Должен показать его в /etc/php5/mods-available

locate mcrypt.so

Отредактируйте mcrypt.ini и измените расширение в соответствии с путем к mcrypt.so, например:

extension=/usr/lib/php5/20121212/mcrypt.so

Теперь это:

sudo php5enmod mcrypt - (optional since its already enabled during phpmyadmin setup)

Убедитесь, что новые файлы существуют здесь (они должны быть автоматически созданы из проблемы выше)

ls -al /etc/php5/cli/conf.d/20-mcrypt.ini
ls -al /etc/php5/apache2/conf.d/20-mcrypt.ini

В противном случае сделайте следующее

Создайте символьные ссылки сейчас

sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/cli/conf.d/20-mcrypt.ini
sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini

Перезапустите Apache

sudo service apache2 restart

Перезапустите php5 или php5-fpm.

sudo service php5 restart

Попробуйте просто сделать это:

sudo php5enmod mcrypt

А потом:

sudo service apache2 restart 

Я установил свежую Ubuntu 14.04 (настольная версия) на свой компьютер. Этот способ работает для включения mcrypt, который уже был установлен.

Устанавливать mcrypt расширение для PHP, включите его и перезапустите Apache. Ниже приведены команды для выполнения:

sudo apt-get install mcrypt php5-mcrypt
sudo php5enmod mcrypt
sudo service apache2 restart

Пакет Ubuntu php5-mcrypt устанавливает файл конфигурации mcrypt.ini в /etc/php5/conf.d/ который является старым макетом каталога конфигурации PHP.

Текущий способ работы для включения модулей в PHP5 - это поместить ini-файлы в /etc/php5/mods-available каталог. Затем, чтобы включить модуль в PHP5, вы должны создать символическую ссылку на соответствующие файлы INI из /etc/php5/apache2/conf.d каталог для включения модуля, когда PHP используется в Apache или / и из /etc/php5/cli/conf.d если вы хотите включить этот модуль при использовании PHP вне Apache, в сценариях, запускаемых из командной строки или из crontab.

Также обратите внимание, что в conf.d каталог, вы можете создать ссылку на INI-файл, поставив перед ним номер, чтобы модули загружались в определенном порядке. Полезно, когда вам нужно загрузить модуль в зависимости от другого.

Конечно, не забудьте перезапустить Apache, если вы включили модуль для Apache:

 sudo service apache2 restart

Нужна только установка моего сервера 14.04 (после установки php5-mcrypt)

sudo php5enmod mcrypt
sudo service apache2 restart

Если проблема все еще возникает,

включите модуль, добавив: extension=mcrypt.so в

/etc/php5/cli/php.ini

а также

/etc/php5/apache2/php.ini

В Ubuntu 16.04 LTS, чтобы включить модуль mcrypt, с php 5.6:

sudo apt-get install mcrypt
sudo apt-get install php5.6-mcrypt
sudo phpenmod mcrypt

или с php 7.0:

sudo apt-get install mcrypt
sudo apt-get install php7.0-mcrypt
sudo phpenmod mcrypt

а потом

sudo service apache2 restart

С PHP 7

sudo apt-get install php-mcrypt
sudo phpenmod mcrypt
sudo /etc/init.d/apache2 restart

Это лучший способ добавить расширение php 5.5 mcrypt на Ubuntu 14.04 Server.

sudo apt-get install php5-mcrypt
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
sudo php5enmod mcrypt 
sudo service apache2 restart

Вы должны иметь возможность установить расширение mcrypt для PHP, выполнив:

sudo apt-get install php5-mcrypt

Обратите внимание, что в Ubuntu 14.04 php5-mcrypt находится в хранилище юниверсов, которое можно отключить. В этом случае для его установки необходимо включить репозиторий с помощью:

sudo add-apt-repository universe

Ответ @ Кевсина сработал для меня, но мне пришлось бежать mkdir -p /etc/php5/apache2/conf.d/ и вручную запустить sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini добраться до работы. sudo php5enmod mcrypt отлично работал для первой символической ссылки.

Примечание: я использую PHP5-FPM. Это могло быть разницей.

Для тех, кто находит это для Ubuntu 16.04 (с использованием PHP7), вот что я сделал, чтобы включить mcrypt:

sudo apt-get install mcrypt php-mcrypt
sudo phpenmod mcrypt
sudo service apache2 restart

Вам необходимо включить модуль mcrypt:

sudo php5enmod mcrypt
sudo service apache2 restart
Другие вопросы по тегам