mCrypt ไม่ปรากฏหลังจาก Ubuntu อัปเกรดเป็น 13.10


92

หลังจากที่ฉันอัปเกรดระบบจาก Ubuntu 13.04 เป็น 13.10 มีปัญหาหลายอย่างเกิดขึ้นกับการกำหนดค่า apache, mysql และ php

ฉันแก้ไขปัญหาส่วนใหญ่แล้ว แต่ดูเหมือนว่าจะไม่สามารถใช้งานไลบรารี mCrypt ติดตั้งแพ็คเกจแล้วดังนั้นฉันไม่จำเป็นต้องรับมัน เซิร์ฟเวอร์ใช้งานได้และทุกอย่างดูดี แต่เมื่อฉันพยายามรันphp artisan serveด้วย Laravel 4 ฉันได้รับข้อความว่าจำเป็นต้องใช้ mCrypt

ฉันไม่ได้php --ri mcryptและเอาท์พุทเป็นExtension 'mcrypt' not present. ฉันได้พยายามวางextension=mcrypt.soไป/etc/php5/apache2/php.iniแต่มันก็ไม่ได้ทำงาน

ความคิดใด ๆ ?

ผลลัพธ์ของ 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

แน่ใจหรือว่าติดตั้งแล้วdpkg --get-selections | grep php5
tlenss

apt-get ติดตั้ง php5-mcrypt?
Lajos Veres

1
ฉันได้อัปเดตคำถามพร้อมผลลัพธ์ของคำสั่ง @tlenss sudo apt-get install php5-mcryptแสดงว่ามีการติดตั้งและเวอร์ชันใหม่ล่าสุด
Vuk Stanković

2
บางทีคำตอบที่นี่อาจช่วยคุณได้askubuntu.com/questions/360646/…
tlenss

พบข้อบกพร่องของ Launchpad ในหน้านั้นซึ่งให้วิธีแก้ไขแก่ฉัน ขอบคุณ
Vuk Stanković

คำตอบ:


273

ผมคิดว่าผมพบว่าวิธีการแก้ปัญหาที่launchpad.net

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

สิ่งนี้ได้ผลสำหรับฉัน


ขอบคุณสำหรับคำตอบนี้ใน OpenCart 1.5.6 ปัญหานี้ทำให้เกิดข้อผิดพลาด ... ข้อผิดพลาดร้ายแรง: เรียกใช้ฟังก์ชันที่ไม่ได้กำหนด mcrypt_create_iv () ใน / <path here> /system/library/encryption.php ในบรรทัดที่ 8
AndyGaskell

โน้ตแก้ปัญหานี้ไม่ได้ทำงานให้ฉันด้วย Laravel / ช่างจนกว่าฉันยัง sym เชื่อมโยงใน /etc/php5/cli/conf.d
เดวิด M

ฉันได้รับข้อผิดพลาดนี้ฉันต้องอัปเดตรหัสใดฉันต้องอัปเดตในไฟล์ใดกรุณาแนะนำ ..
user2089987

ซึ่งทำให้ Webgility ไม่สามารถซิงค์ได้ การติดตั้งมันแก้ไขได้ดี ขอบคุณ!
Ryan

2
ด้วย Ubuntu 14.04 / PHP5.5 ไม่จำเป็นต้องใช้บรรทัดแรก php5enmod สร้างลิงค์
Wolk

27

ฉันมีปัญหากับ Ubuntu 14.04 และฉันได้ทำสิ่งต่อไปนี้เพื่อแก้ไข:

sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt

sudo service apache2 restart

1
นี่คือสิ่งที่ใช้ได้ผลสำหรับฉันฉันมี PHP เวอร์ชัน 5.5.9-1ubuntu4.4 และฉันไม่มีไดเร็กทอรี /etc/php5/conf.d
flcoder

14

ฉันยังมีปัญหากับ Ubuntu 14.04 หลังจากติดตั้ง

ก่อนอื่นให้เปิดใช้งาน mcrypt

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

เพิ่มคำสั่งนี้ในบรรทัดใดก็ได้

extension=mcrypt.so

สร้างโฟลเดอร์ conf.d ใน / etc / php5

sudo mkdir conf.d

และภายในโฟลเดอร์นั้นสร้างไฟล์ mcrypt.ini

sudo gedit mcrypt.ini 

จากนั้นเพิ่มคำสั่งนี้ในไฟล์นั้น

extension=mcrypt.so

จากนั้นสร้างลิงค์ไปยังไฟล์

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

เปิดใช้งานโมดูล mcrypt

sudo php5enmod mcrypt

รีสตาร์ท apache

sudo service apache2 restart

3
คุณไม่จำเป็นต้องอยู่ในextension=mcrypt.so php.iniมันใช้งานได้หากไม่มีมันเนื่องจากนามสกุล php (เช่น mcrypt) อยู่ใน.iniไฟล์แยกกัน
machineaddict

@machineaddict สำหรับฉันการเพิ่ม 'extension = mcrypt.so' ใช้งานได้หลังจากติดตั้ง mcrypt Lubuntu 14.04 ทรัสตี้ธาร์ ฉันไม่ได้โหลดโดยอัตโนมัติ
Clain Dsilva

11

จาก Ubuntu 13.10 ถึง 14.04:

sudo php5enmod mcrypt
sudo service apache2 restart

ใช้ได้ผลสำหรับฉัน


สำหรับฉัน: WARNING: Module mcrypt ini file doesn't exist under /etc/php5/mods-available. อย่างไรก็ตามไฟล์นั้นอยู่ที่อื่น sudo cp /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/และรันคำสั่งด้านบน นำมาจากwww.devraju.com
machineaddict

3

ฉันมีปัญหานี้กับ Ubuntu 14.04 และ Nginx ด้วย แต่เคล็ดลับสำหรับฉันคือเริ่มบริการ FPM ใหม่ดังนั้นฉันจึงทำ:

ติดตั้งไลบรารี

apt-get ติดตั้ง php5-mcrypt

ค้นหาเส้นทาง

updatedb && ค้นหา mcrypt.so

กำหนดเส้นทางของ mcrypt.so ภายในไฟล์ mcrypt.ini ที่อยู่ใน /etc/php5/mods-available/mcrypt.ini

ส่วนขยาย = / usr / lib / php5 / 20121212 / mcrypt.so

จากนั้นเริ่มบริการ FPM ใหม่

บริการ php5-fpm รีสตาร์ท


ฉันแค่ต้องการ apt-get install php5-mcrypt และกว่าบริการ php5-fpm รีสตาร์ทบน Ubuntu 14.04 ของฉัน
deanpodgornik

ดี. ในกรณีของฉันจำเป็นต้องค้นหา mcrypt lib ด้วยตนเองเนื่องจากส่วนขยายว่างเปล่าในไฟล์ mcrypt.ini
Deric Lima

0

วิธีแก้ปัญหาอื่นหากติดตั้งแพ็คเกจแล้ว:

sudo aptitude reinstall php5-mycript

สิ่งนี้ใช้ได้ผลสำหรับฉันหลังจากทำการอัปเกรด



0

ฉันมีปัญหาเดียวกันกับ PHP 5.5.14 ที่ทำงานบน Mac OS X Yosemite ฉันพยายามติดตั้ง Laravel 5.0 และเมื่อฉันพยายามสร้างโครงการใหม่ฉันได้รับข้อผิดพลาดเช่นด้านล่าง (แม้ว่าฉันจะพยายามเริ่มเซิร์ฟเวอร์ laravel ด้วยphp artisan serve

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$ 

ดังนั้นฉันจึงเพิ่มบรรทัดด้านล่างที่ท้ายไฟล์ php.ini ของฉันด้วยตัวแก้ไขนาโน:

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

สุดท้ายเพียงรีสตาร์ท Terminal และรีสตาร์ทเซิร์ฟเวอร์แอป laravel ด้วย

php artisan serve

และใช้งานได้ดี!


0

เพิ่งพบใน php.net

หมายเหตุสำหรับ Ubuntu การติดตั้ง php5-mcrypt ไม่ได้รับ mcrypt ให้ทำงาน คุณต้องดำเนินการคำสั่งต่อไปนี้ในฐานะรูทเพื่อเปิดใช้งาน:

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/th/mcrypt.installation.php#114609


0

บางครั้ง "ปัญหา" นี้เกิดขึ้นเนื่องจากคุณป้อนคำสั่งช่างในเครื่องท้องถิ่นของคุณแทนที่จะอยู่ในเครื่องเสมือนของคุณ หากคุณใช้ Homestead mcrypt ได้รับการติดตั้งแล้ว ถือเป็นการเตือนความจำhomestead ssh

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.