MySQL의 14.04 서버에서 Mcrypt 확장이 없습니다.


112

우분투 14.04의 php mcrypt 확장은 그것이 제대로 설치되었음을 보여 주지만 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.

7
허용되는 답변은 모범 사례가 아닙니다. 간단한 및 정답 : http://askubuntu.com/a/477608/139249는 또한 가장 많은 표를 가지고있다.
마이크 스튜어트

다른 사람들의 참고로 볼 때 "가장 간단한"대답은 효과가 없었습니다. php5enmod mcrypt아파치를 얼렸다. php5dismod mcrypt다시 풀어주었습니다. 나는 대답에 동의하고 경로를 수정 했으며 extension=..이번에 php5enmod mcrypt는 효과가있었습니다. 그렇습니다. 포괄적이며 허용되는 답변이어야합니다.
Oliver Williams

답변:


138

이 시도:

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

아파치 다시 시작

sudo service apache2 restart

php5 또는 php5-fpm을 다시 시작하십시오

sudo service php5 restart

이것은 잘못이다! 나는 당신이 다음과 같은 것을 의미한다고 생각합니다 sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini .
wolfdawn

14
그냥 php5enmod mcrypt나를 위해 매끄럽게 일했습니다.
diosney

3
실행 php5enmod mcrypt하면 심볼릭 링크가 만들어집니다. 수동으로 수행 할 필요가 없습니다 (예 : ln -s명령을 건너 뛸 수 있음 ).
Serrano

1
실행 php5enmod mcrypt은 올바른 우분투 / 데비안 방식입니다. 이 답변은 효과가 있지만 번거롭고 모범 사례는 아닙니다.
마이크 스튜어트

1
위의 많은 단계가 필요하지 않습니다. @MURATSPLAT의 답변을 참조하십시오.
랩터

155

이 작업을 수행하십시오.

sudo php5enmod mcrypt

그리고:

sudo service apache2 restart 

컴퓨터에 새로운 Ubuntu 14.04 (데스크톱 버전)를 설치했습니다. 이 방법은 이미 설치된 mcrypt를 활성화하는 데 효과적입니다.


5
당신이 실행하는 경우, 주 의 nginx를 PHP5-FPM과 함께 - 다음 php5-fpm service restart(또는 다시로드 그것은 마침내 패치 않은 경우)
마이크 스튜어트

2
이 두 명령의 기능은 다음과 같습니다. 첫 번째 줄은 'mcrypt'라는 모듈을 활성화 한 다음 apache2를 다시 시작하여 구성을 업데이트합니다. 에서 활성화 된 모듈을 볼 수 있습니다 /etc/apache2/mods-available. 램프 수명 : 즐기
itiskj

sudo service apache2 reload충분하다, 실제로 다시 시작할 필요가 없다 (어쨌든 14.04에, 내가 시도한 것이다)
Jasper

55

mcryptPHP 용 확장을 설치 하고 활성화 한 다음 Apache를 다시 시작하십시오. 수행 할 명령은 다음과 같습니다.

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

1
단순한. 완전한. 우분투 14.04.1 LTS (믿을 수있는)에 적어도 나를 위해, 문제없이 작동
뜨거운

그것은 우분투 14.10에서도 작동합니다
Coca Akat

mcrypt첫 줄 에는 포함하지 않는 것이 좋습니다 . 이 패키지 는의 의존성으로 암시 적으로 설치 php5-mcrypt되지만, 명시 적으로 설치하면 나중에 ph5-mcrypt패키지 를 제거하기로 선택한 경우 apt-get에서이를 제거 할 수 없습니다 .
beldaz

@beldaz apt-get에 따라 php5-mcrypt가 설치된 서버가 적어도 하나 있지만 pnp 모듈이 활성화되지 않아 mom이 누락되어 joomla 설치 문제가 발생합니다. mcrypt를 포함하면 나에게 의미가 있습니다.
tagMacher

6

PHP5-Mcrypt 라이브러리 우분투 패키지는 설정 파일 설치 mcrypt.ini/etc/php5/conf.d/기존의 PHP config 디렉토리 레이아웃 인을.

PHP5에서 모듈을 활성화하는 현재 방법은 ini 파일을 /etc/php5/mods-available디렉토리 에 넣는 것 입니다. 그런 다음 PHP5에서 모듈 /etc/php5/apache2/conf.d을 활성화하려면 Apache 또는 /에서 PHP를 사용할 때 및 /etc/php5/cli/conf.d외부에서 PHP를 사용할 때이 모듈을 활성화하려는 경우 디렉토리 에서 관련 ini 파일에 대한 심볼릭 링크를 만들어 모듈을 활성화해야합니다 스크립트의 Apache는 명령 행 또는 crontab에서 실행됩니다.

또한 conf.d디렉토리에서 모듈을 특정 순서로로드하기 위해 숫자를 넣어서 ini 파일에 대한 링크를 작성할 수 있습니다. 다른 모듈에 따라 모듈을로드해야 할 때 유용합니다.

물론, Apache 용 모듈을 활성화 한 경우 Apache를 다시 시작해야합니다.

 sudo service apache2 restart

4

14.04 서버 설치 만 필요합니다 (php5-mcrypt 설치 후)

sudo php5enmod mcrypt
sudo service apache2 restart

3

문제가 계속 발생하면

다음 extension=mcrypt.so을 추가하여 모듈을 활성화하십시오.

/etc/php5/cli/php.ini

/etc/php5/apache2/php.ini


1
나를 위해 mext를 설치 한 후 'extension = mcrypt.so'를 추가했습니다. Lubuntu 14.04 Trusty Thar
Clain Dsilva

이것은 작동하며 허용되는 대답보다 훨씬 간단합니다 ... 업데이트하면 깨질 것입니다.
Eric

나는 여기와 다른 곳에서 헛되이 모든 지시를 따랐다. 우분투 14.04.3-PHP 5.5.9-1 우분투 4.14-nginx / 1.8.1-서버 버전 : 5.7.10-MySQL-데이터베이스 클라이언트 버전 : libmysql-5.5.47-phpMyAdmin 버전 : 4.0.10deb1 .... 아는 사람이 있습니까?
Jadeye

2

Ubuntu 16.04 LTS에서 PHP 5.6과 함께 mcrypt 모듈을 활성화하려면 다음을 수행하십시오.

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

1

PHP 7로

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

$ sudo를 phpenmod의 Mcrypt 라이브러리 경고 : 모듈 Mcrypt 라이브러리 INI 파일이 /etc/php/7.1/mods-available에서 존재하지 않는
예브게니 Afanasyev

발견되지 명령 /etc/init.d/apache2 : $ sudo는 sudo를 다시 시작 /etc/init.d/apache2
예브게니 Afanasyev

0

다음을 실행하여 PHP 용 mcrypt 확장을 설치할 수 있어야합니다.

sudo apt-get install php5-mcrypt

글쎄, 그것은 (명령 행)이 제대로 설치
되었다고 말하지만

1
@ jkt123 : 우분투에서 php5-mcrypt와 같은 PHP 모듈을 설치할 때 모든 파일이 나중에 있지만 기본 PHP 구성에서 모듈이 활성화되어 있지 않습니다. 허용 된 답변에 설명 된대로 수동으로 활성화해야합니다.
Benoit

php.ini에 extension = mcrypt.so를 추가하지 않으면 작동하지 않습니다
Eric

0

Ubuntu 14.04에서 php5-mcrypt는 비활성화 할 수있는 유니버스 리포지토리에 있습니다. 이 경우 설치하려면 다음을 사용하여 저장소를 활성화해야합니다.

sudo add-apt-repository universe

0

mcrypt 모듈을 활성화해야합니다.

sudo php5enmod mcrypt
sudo service apache2 restart

0

이것은 우분투 14.04 서버에 PHP 5.5 mcrypt 확장을 추가하는 가장 좋은 방법입니다

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

@ 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

이것을 찾는 사람들을 위해, Ubuntu 16.04 (PHP7 사용)의 경우 mcrypt를 활성화하기 위해 수행 한 작업은 다음과 같습니다.

sudo apt-get install mcrypt php-mcrypt
sudo phpenmod mcrypt
sudo service apache2 restart
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.