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

108

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

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

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

$ 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.
    
задан matthapkidokarate 05.05.2014 в 02:03
источник

14 ответов

135

Попробуйте следующее:

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
    
ответ дан Kevsin 05.05.2014 в 03:10
источник
156

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

sudo php5enmod mcrypt

И затем:

sudo service apache2 restart 

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

    
ответ дан MURATSPLAT 06.06.2014 в 13:04
57

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

sudo apt-get install mcrypt php5-mcrypt
sudo php5enmod mcrypt
sudo service apache2 restart
    
ответ дан thucnguyen 03.09.2014 в 17:26
6

Пакет 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
    
ответ дан Benoit 06.06.2014 в 14:26
4

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

sudo php5enmod mcrypt
sudo service apache2 restart
    
ответ дан John 23.09.2014 в 03:33
3

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

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

  

/etc/php5/cli/php.ini

и

  

/etc/php5/apache2/php.ini

    
ответ дан snickers2k 24.07.2014 в 15:55
1

С PHP 7

sudo apt-get install php-mcrypt
sudo phpenmod mcrypt
sudo /etc/init.d/apache2 restart
    
ответ дан madeye 01.09.2016 в 13:04
1

В 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
    
ответ дан Rômulo Z. C. Cunha 21.06.2017 в 19:12
0

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

sudo apt-get install php5-mcrypt
    
ответ дан jkt123 05.05.2014 в 02:04
0

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

sudo add-apt-repository universe
    
ответ дан salgua 04.09.2014 в 10:32
0

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

sudo php5enmod mcrypt
sudo service apache2 restart
    
ответ дан Debanjan Roy 30.01.2016 в 15:49
0

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

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
    
ответ дан Vigyanlabs Inc 09.02.2016 в 08:12
0

@ Ответ Kevsin работал для меня, но мне пришлось запустить 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. Возможно, это была разница.

    
ответ дан ZachLanich 25.08.2016 в 20:43
0

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

sudo apt-get install mcrypt php-mcrypt
sudo phpenmod mcrypt
sudo service apache2 restart
    
ответ дан Richard 13.03.2017 в 22:23