Расширение 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.
1
задан 5 May 2014 в 05:08

13 ответов

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

sudo php5enmod mcrypt

И затем:

sudo service apache2 restart 

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

156
ответ дан 24 May 2018 в 08:11
  • 1
    Обратите внимание, что если вы используете nginx с php5-fpm - тогда php5-fpm service restart (или перезагрузите, если он окончательно исправлен) – mike stewart 3 February 2015 в 21:54
  • 2
    Что делают эти две команды: первая строка включает модуль с именем «mcrypt», а затем перезапускает apache2 для обновления конфигурации. Вы можете увидеть активированный модуль с /etc/apache2/mods-available. Наслаждайтесь жизнью LAMP :) – phi 21 October 2015 в 12:57
  • 3
    sudo service apache2 reload достаточно, реального перезапуска не требуется (на 14.04 в любом случае, вот что я пробовал) – Jasper 10 January 2016 в 20:42

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

sudo apt-get install mcrypt php5-mcrypt
sudo php5enmod mcrypt
sudo service apache2 restart
57
ответ дан 24 May 2018 в 08:11
  • 1
    Просто. Отлично. Работает без проблем, по крайней мере для меня на Ubuntu 14.04.1 LTS (trusty) – Gor 20 December 2014 в 00:15
  • 2
    Он также работает над ubuntu 14.10 – Coca Akat 21 April 2015 в 12:12
  • 3
    Я бы рекомендовал, чтобы вы не включили mcrypt в свою первую строку. Он неявно установлен как зависимость от php5-mcrypt, но если вы явно установите его, apt-get не будет знать, чтобы удалить его, если позже вы решите удалить пакет ph5-mcrypt. – beldaz 17 September 2015 в 23:39
  • 4
    @beldaz существует, по крайней мере, один сервер, на котором php5-mcrypt был установлен как apt-get, но mcrypt отсутствовал, из-за чего модуль pnp не был включен, что привело к проблеме установки Joomla. поэтому включение mcrypt имеет смысл для меня. – tagMacher 21 September 2016 в 11:27

Пакет php5-mcrypt Ubuntu устанавливает конфигурационный файл 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
6
ответ дан 24 May 2018 в 08:11

Моя установка сервера 14.04 необходима только после установки php5-mcrypt

sudo php5enmod mcrypt
sudo service apache2 restart
4
ответ дан 24 May 2018 в 08:11

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

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

/etc/php5/cli/php.ini

и

/etc/php5/cli/php.ini

3
ответ дан 24 May 2018 в 08:11
  • 1
    Для меня добавлено расширение «extension = mcrypt.so» после установки mcrypt. Lubuntu 14.04 Trusty Thar – Clain Dsilva 23 April 2015 в 07:35
  • 2
    Это работает и проще, чем принятый ответ ... который также будет ломаться, когда он будет обновляться. – Eric 11 December 2015 в 22:32
  • 3
    Я следовал за каждой инструкцией здесь и в других местах, но напрасно. ubuntu 14.04.3 - PHP 5.5.9-1ubuntu4.14 - nginx / 1.8.1 - Версия сервера: 5.7.10 - MySQL - Версия клиентской базы данных: libmysql - 5.5.47 - phpMyAdmin Версия: 4.0.10deb1 .... у кого есть идея? – Jadeye 2 February 2016 в 13:21

С PHP 7

sudo apt-get install php-mcrypt
sudo phpenmod mcrypt
sudo /etc/init.d/apache2 restart
1
ответ дан 24 May 2018 в 08:11
  • 1
    $ sudo phpenmod mcrypt ПРЕДУПРЕЖДЕНИЕ: Модуль mcrypt ini-файла не существует в /etc/php/7.1/mods-available – Yevgeniy Afanasyev 15 December 2016 в 05:56
  • 2
    $ sudo /etc/init.d/apache2 restart sudo: /etc/init.d/apache2: команда не найдена – Yevgeniy Afanasyev 15 December 2016 в 05:57

В 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

, а затем

[ f3]
1
ответ дан 24 May 2018 в 08:11

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

sudo apt-get install php5-mcrypt
0
ответ дан 24 May 2018 в 08:11
  • 1
    хорошо, он говорит, что он (командная строка) установлен правильно, но он как-то отсутствует на сервере, как указано выше – matthapkidokarate 5 May 2014 в 05:06
  • 2
    @ jkt123: Я заметил, что при установке в Ubuntu некоторого php-модуля, такого как php5-mcrypt, все файлы есть, но модуль не включен в основной конфигурации PHP. Вы должны активировать его вручную, как описано в принятом ответе. – Benoit 6 June 2014 в 17:19
  • 3
    он не работает без добавления расширения = mcrypt.so в php.ini – Eric 11 December 2015 в 22:30

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

sudo add-apt-repository universe
0
ответ дан 24 May 2018 в 08:11

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

sudo php5enmod mcrypt
sudo service apache2 restart
0
ответ дан 24 May 2018 в 08:11

Это лучший способ добавить расширение 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
0
ответ дан 24 May 2018 в 08:11

@ Ответ 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. Возможно, это была разница.

0
ответ дан 24 May 2018 в 08:11

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

sudo apt-get install mcrypt php-mcrypt
sudo phpenmod mcrypt
sudo service apache2 restart
0
ответ дан 24 May 2018 в 08:11

Другие вопросы по тегам:

Похожие вопросы: