Mcrypt uzantısı 14.04 sunucusunda mysql için eksik


112

Ubuntu 14.04'teki php mcrypt uzantısı doğru şekilde kurulduğunu gösteriyor, ancak phpmyadmin diyor ki:

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

Şu anki php config burada . Daha fazla bilgiye ihtiyacınız olursa, lütfen yorumlar yoluyla benimle iletişime geçin.

$ 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
Kabul edilen cevap en iyi yöntem değildir. En basit ve doğru cevap: http://askubuntu.com/a/477608/139249 ayrıca en çok oyu aldı.
mike stewart

Diğerlerinin referansı için, "en basit" cevap benim için işe yaramadı. php5enmod mcryptApache'yi dondurdu. php5dismod mcrypttekrar serbest bıraktım. Kabul edilen cevapla gittim ve yolu değiştirdim extension=..ve bu sefer php5enmod mcryptişe yaradım. Yani evet, kapsamlı ve kabul edilen cevap olmalı.
Oliver Williams

Yanıtlar:


138

Bunu dene:

sudo updatedb 
locate mcrypt.ini

/ Etc / php5 / mods kullanılabilir konumunda gösterilmesi gerekir

locate mcrypt.so

Mcrypt.ini dosyasını düzenleyin ve uzantıyı mcrypt.so ile eşleştirmek için değiştirin, örneğin:

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

Şimdi bu:

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

Yeni dosyaların burada bulunduğunu doğrulayın (yukarıdaki sorundan otomatik olarak oluşturulmaları gerekir)

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

Aksi takdirde aşağıdakileri yapın

Şimdi sembol bağlantıları oluşturun

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'yi yeniden başlatın

sudo service apache2 restart

Php5 veya php5-fpm'yi yeniden başlatın

sudo service php5 restart

Bu yanlış! Sanırım şöyle bir şeyi kastediyordun: sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini Ve tam tersi değil.
wolfdawn

14
Sadece php5enmod mcryptbenim için sorunsuz çalıştı.
diosney

3
Koşmak php5enmod mcryptsizin için bu sembolik bağları yaratacaktır. Bunu manuel olarak yapmanız gerekmez (yani ln -skomutları atlayabilirsiniz ).
Serrano

1
çalışan php5enmod mcryptdoğru Ubuntu / Debian yoludur. Bu cevap işe yarayacak, hantal ve iyi bir uygulama değil.
mike stewart

1
yukarıdaki birçok adım gerekli değildir. @ MURATSPLAT'ın cevabına bakınız.
Raptor

155

Sadece bunu yapmayı deneyin:

sudo php5enmod mcrypt

Ve sonra:

sudo service apache2 restart 

Bilgisayarıma taze Ubuntu 14.04 (masaüstü sürümü) yükledim. Bu yol zaten kurulmuş olan mcrypt'i etkinleştirmek için çalışır.


5
Not, eğer php5-fpm ile nginx kullanıyorsanız - sonra php5-fpm service restart(ya da en sonunda yamalıysa yeniden yükleyin)
mike stewart

2
Bu iki komutun yaptığı şey şudur: 1. satır 'mcrypt' adlı modülü etkinleştiriyor ve ardından config güncellemesi için apache2'yi yeniden başlatıyor. Etkinleştirilen modülü içinden görebilirsiniz /etc/apache2/mods-available. LAMBA hayatın tadını :)
itiskj 21:15

sudo service apache2 reloadyeterli, yeniden başlatma gerekli değil (14.04'te yine de denedim)
Jasper

55

mcryptPHP için uzantı yükleyin , Etkinleştirin ve Apache'yi Yeniden Başlatın. Yapılacak komutlar aşağıdadır:

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

1
Basit. Mükemmel. Sorunsuz çalışır, en azından benim için Ubuntu'da 14.04.1 LTS (güvenilir)
Gor

Çok ubuntu 14.10 üzerinde çalışıyor
Coca Akat

mcryptİlk satırına dahil olmamanı tavsiye ederim . Bir bağımlılık olarak örtük olarak yüklenir php5-mcrypt, ancak açıkça yüklerseniz apt-get ph5-mcryptpaketi daha sonra kaldırmayı seçerseniz kaldırmayı bilemez .
beldaz

@beldaz php5-mcrypt 'un apt-get başına kurulu olduğu en az bir sunucu var ancak mcrypt eksik olduğu için hangi pnp modülünün joomla kurulumuna yol açtığını bilmiyordu. bu yüzden mcrypt dahil etmek benim için anlamlı.
tagMacher 21:16

6

Php5-mcrypt Ubuntu paket yapılandırma dosyası yüklemek mcrypt.iniiçine /etc/php5/conf.d/eski PHP yapılandırma dizini düzeni olan.

PHP5'te modülleri etkinleştirmek için çalışmanın mevcut yolu, ini dosyalarını /etc/php5/mods-availabledizine koymaktır . Daha sonra, PHP5'te modülü /etc/php5/apache2/conf.detkinleştirmek için, PHP Apache altında veya / ve /etc/php5/cli/conf.dPHP'yi kullandığınızda bu modülün etkin olmasını istiyorsanız, bu modülü etkinleştirmek için ilgili ini dosyalarına, dizinden ilgili ini dosyalarına sembolik bir bağlantı oluşturmanız gerekir. Apache, komut dosyalarında komut satırında veya crontab'dan çalıştırılır.

Ayrıca unutmayın conf.ddizinde, belirli bir sırayla yüklenen modüller için önünde bir dizi koyarak ini dosyasına bağlantı oluşturabilirsiniz. Başka birine bağlı olarak bir modül yüklemeniz gerektiğinde kullanışlıdır.

Elbette, Apache için modülü etkinleştirdiyseniz, Apache'yi yeniden başlatmayı unutmayın:

 sudo service apache2 restart

4

14.04 sunucumun kurulumu yalnızca gerekli (php5-mcrypt yüklendikten sonra)

sudo php5enmod mcrypt
sudo service apache2 restart

3

Sorun devam ederse,

ekleyerek modülü etkinleştirin: extension=mcrypt.so-

/etc/php5/cli/php.ini

ve

/etc/php5/apache2/php.ini


1
Benim için 'extension = mcrypt.so' eklenmesi mcrypt yüklendikten sonra çalıştı. Lubuntu
14.04 Güven

Bu çalışır ve WAY daha basit, daha sonra kabul edilen cevabı ... güncellenirse kırılacak.
Eric,

Her talimatı burada ve başka yerlerde ama boşuna takip ettim. ubuntu 14.04.3 - PHP 5.5.9-1ubuntu4.14 - nginx / 1.8.1 - Sunucu sürümü: 5.7.10 - MySQL - Veritabanı istemcisi sürümü: libmysql - 5.5.47 - phpMyAdmin Sürüm: 4.0.10deb1 .... bir fikri olan var mı?
Jadeye

2

Ubuntu 16.04 LTS'de, mcrypt modülünü etkinleştirmek için php 5.6 ile:

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

veya php 7.0 ile:

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

ve sonra

sudo service apache2 restart

1

PHP 7 ile

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

$ sudo phpenmod mcrypt UYARI: Modül mcrypt ini dosyası /etc/php/7.1/mods-available altında mevcut değil
Yevgeniy Afanasyev

$ sudo /etc/init.d/apache2 sudo: /etc/init.d/apache2: komut bulunamadı yeniden başlatıldı
Yevgeniy Afanasyev

0

PHP için mcrypt eklentisini çalıştırarak yükleyebilmeniz gerekir:

sudo apt-get install php5-mcrypt

peki, (komut satırı) doğru bir şekilde kurulduğunu söylüyor, ancak yukarıda da belirtildiği gibi sunucudan bir şekilde eksik
matthapkidokarate

1
@ jkt123: Ubuntu'da php5-mcrypt gibi bazı php modüllerini kurduğunuzda, tüm dosyaların daha sonra orada olduklarını ancak modülün ana PHP konfigürasyonunda etkin olmadığını farkettim. Kabul edilen cevapta açıklandığı şekilde manuel olarak etkinleştirmeniz gerekir.
Benoit

php.ini'ye = mcrypt.so eklentisini eklemeden çalışmaz
Eric

0

Ubuntu 14.04'te php5-mcrypt'in devre dışı bırakılabilecek evren deposunda olduğunu unutmayın. Bu durumda yüklemek için depoyu şu şekilde etkinleştirmelisiniz:

sudo add-apt-repository universe

0

Mcrypt modülünü etkinleştirmeniz gerekir:

sudo php5enmod mcrypt
sudo service apache2 restart

0

Ubuntu 14.04 Sunucusu'na php 5.5 mcrypt eklentisi eklemenin en iyi yolu budur

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'in cevabı benim için işe yaradı, ancak çalışmak için koşup mkdir -p /etc/php5/apache2/conf.d/el ile koşmam gerekiyordu sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini. sudo php5enmod mcryptilk bağlantı için iyi çalıştı.

Not: PHP5-FPM kullanıyorum. Bu fark olabilirdi.


0

Bunu bulanlar için, Ubuntu 16.04 için (PHP7 kullanarak), mcrypt'i etkinleştirmek için yaptığım şey:

sudo apt-get install mcrypt php-mcrypt
sudo phpenmod mcrypt
sudo service apache2 restart
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.