Ubuntu 13.10'a yükselttikten sonra mCrypt mevcut değil


92

Sistemimi Ubuntu 13.04'ten 13.10'a yükselttikten sonra apache, mysql ve php yapılandırmalarıyla ilgili birkaç sorun oluştu.

Çoğunu çözdüm ama mCrypt kitaplığını çalıştıramıyorum. Paket yüklendi, bu yüzden onu almam gerekmiyor. Sunucu çalışıyor ve her şey yolunda görünüyor, ancak php artisan serveLaravel 4 ile çalışmayı denediğimde , mCrypt'in gerekli olduğunu belirten bir mesaj alıyorum.

Ben yaptım php --ri mcryptve çıkış oldu Extension 'mcrypt' not present. ben koyarak denedim extension=mcrypt.soetmek /etc/php5/apache2/php.iniama işe yaramadı.

Herhangi bir fikir?

Çıktı dpkg --get-selections | grep php5

libapache2-mod-php5         install
php5                        install
php5-cli                    install
php5-common                 install
php5-gd                     install
php5-json                   install
php5-mcrypt                 install
php5-mysql                  install
php5-readline               install

Yüklendiğinden emin misinizdpkg --get-selections | grep php5
tlens

apt-get php5-mcrypt yüklemek?
Lajos Veres

1
Soruyu @tlenss komutunun çıktısıyla güncelledim. sudo apt-get install php5-mcrypto yüklü olduğunu çıkışları ve yeni sürümü
Vuk Stanković

2
Belki buradaki cevap size sorubuntu.com/questions/360646/…
2013

Bana çözüm sağlayan o sayfada launchpad hatası bulundu. Teşekkürler
Vuk Stanković

Yanıtlar:


273

Sanırım çözümü launchpad.net'te buldum .

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

Bu benim için çalıştı.


Bu yanıt için teşekkürler, OpenCart 1.5.6'da bu sorun hataya neden oluyordu ... Önemli hata: Tanımlanmamış işlev mcrypt_create_iv () in / <path here> /system/library/encryption.php satır 8
AndyGaskell

Ben kadar Unutmayın ki, bu çözüm laravel / Artisan ile iş için beni vermedi da /etc/php5/cli/conf.d içinde bağlantılı SYM
David M

Bu hatayı alıyorum Hangi kodu güncellemem gerekiyor? Hangi dosyada güncellemem gerekiyor? Lütfen önerin ..
user2089987

Bu, Webgility'nin senkronize olmamasına neden oluyordu. Kurmak onu güzelce düzeltti. Teşekkürler!
Ryan

2
Ubuntu 14.04 / PHP5.5 ile ilk satır gerekli değildir. php5enmod bağlantıyı kurar.
Wolk

27

Ubuntu 14.04 ile bu sorunu yaşadım ve çözmek için aşağıdakileri yaptım:

sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt

sudo service apache2 restart

1
Benim için işe yarayan şey buydu, PHP Sürüm 5.5.9-1ubuntu4.4'e sahibim ve /etc/php5/conf.d dizinim yoktu.
flcoder

14

Yüklemeden sonra Ubuntu 14.04 ile de bu sorunu yaşıyorum.

Önce mcrypt'i etkinleştirin

sudo gedit /etc/php5/apache2/php.ini

Bu komutu herhangi bir satıra ekleyin

extension=mcrypt.so

/ Etc / php5 içinde conf.d klasörü oluşturun

sudo mkdir conf.d

Ve bu klasörün içinde mcrypt.ini dosyası oluşturun

sudo gedit mcrypt.ini 

Sonra bu komutu o dosyaya ekleyin

extension=mcrypt.so

Ardından dosyaya bir bağlantı oluşturun

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

Mcrypt modülünü etkinleştir

sudo php5enmod mcrypt

Apache'yi yeniden başlatın

sudo service apache2 restart

3
Buna gerek yok extension=mcrypt.soiçinde php.ini. Php uzantıları (mcrypt gibi) ayrı .inidosyalarda olduğu için onsuz da çalışıyor .
machineaddict

@machineaddict Benim için 'extension = mcrypt.so' eklenmesi, mcrypt'i yükledikten sonra çalıştı. Lubuntu 14.04 Trusty Thar. Otomatik olarak yüklenmedim
Clain Dsilva

11

Ubuntu 13.10'dan 14.04'e:

sudo php5enmod mcrypt
sudo service apache2 restart

Benim için çalışıyor.


Benim için: WARNING: Module mcrypt ini file doesn't exist under /etc/php5/mods-available. Ancak dosya başka bir yerde bulunuyordu. sudo cp /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/ve yukarıdaki komutları çalıştırdım. Alındığı www.devraju.com
machineaddict

3

Ubuntu 14.04 ve Nginx ile de bu sorunu yaşadım, ancak benim için ipucu FPM hizmetini yeniden başlatmaktı, ben de yaptım:

Kitaplığı kurun

apt-get install php5-mcrypt

Yolu bul

updatedb && locate mcrypt.so

/Etc/php5/mods-available/mcrypt.ini konumunda bulunan mcrypt.ini dosyasında mcrypt.so yolunu ayarlayın.

uzantı = / usr / lib / php5 / 20121212 / mcrypt.so

Ve ardından FPM hizmetini yeniden başlatın

servis php5-fpm yeniden başlatma


Sadece php5-mcrypt'i kurmak için apt-get'e ihtiyacım vardı ve ubuntu 14.04'ümde php5-fpm yeniden başlatma hizmeti verdim.
deanpodgornik

Güzel .. Benim durumumda, mcrypt.ini dosyasında uzantı boş olduğundan, mcrypt kütüphanesini manuel olarak bulmak gerekiyordu.
Deric Lima

0

Paket zaten yüklüyse başka bir çözüm:

sudo aptitude reinstall php5-mycript

Bu, yükseltme yaptıktan sonra benim için çalıştı


0

Bu kodu deneyin:

ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini
service apache2 restart

0

Mac OS X Yosemite üzerinde çalışan PHP 5.5.14 ile aynı sorunu yaşadım. Laravel 5.0'ı kurmaya çalışıyordum. Ve yeni bir proje oluşturmaya çalıştığımda aşağıdaki gibi bir hata aldım (laravel sunucusunu php artisan service ile başlatmaya çalıştığımda bile

Alejandros-MacBook-Pro:Documents Lexynux$ laravel new blog
Crafting application...
PHP Notice:  Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /Library/WebServer/Documents/blog/config/app.php on line 83
PHP Notice:  Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /Library/WebServer/Documents/blog/config/app.php on line 83
Generating optimized class loader
Compiling common classes
Compiling views
PHP Notice:  Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /Library/WebServer/Documents/blog/config/app.php on line 83
Application key [CCOPocoMjnJTx4AFXk64wqyTKyo3BlHq] set successfully.
Application ready! Build something amazing.
Alejandros-MacBook-Pro:Documents Lexynux$ 

Bu yüzden nano editör ile php.ini dosyamın sonuna aşağıdaki satırı ekledim:

extension=mcrypt.so
sudo nano /etc/php.ini

Son olarak Terminal'i yeniden başlatın ve laravel uygulama sunucusunu yeniden başlatın.

php artisan serve

Ve iyi çalışıyor!


0

sadece php.net'te bulundu

Unutmayın, Ubuntu için, php5-mcrypt'i kurmanın mcrypt'i çalıştırmadığını unutmayın. Etkinleştirmek için aşağıdaki komutları root olarak çalıştırmanız gerekir:

apt-get install php5-mcrypt
mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
php5enmod mcrypt
service apache2 restart

http://php.net/manual/en/mcrypt.installation.php#114609


0

Bazen bu "sorun", sanal makineniz yerine yerel makinenize zanaatkar bir komut girdiğiniz için oluşur. Homestead kullanıyorsanız, mcrypt zaten kurulu. Bunu bir hatırlatma olarak kabul edinhomestead ssh

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.