Saya sudah melakukan ini berkali-kali:
sudo aptitude install php5-mcrypt
sudo apache2ctl restart
aptitude mengatakan mcrypt diinstal. Saya sudah menginstalnya kembali 3 kali. Saya telah memulai kembali apache sekitar 20 kali sejak saya menginstalnya. Ketika saya melihat phpInfo, saya tidak melihat mcrypt terdaftar. Ketika saya mencoba untuk mengeksekusi kode saya ia mengatakan fungsi mcrypt (pilih satu - salah satu) tidak ada. mcrypt jelas tidak diaktifkan.
Adakah yang tahu apa yang salah? Saya tidak tahu bagian mana yang harus berada di mana dan bagaimana semua ini seharusnya cocok bersama.
Saya menginstal PHP 5.5.3
apt-get
/aptitude
) juga? Paketphp5-mcrypt
hanya dapat mengkonfigurasi ekstensi untukphp.ini
"tahu" tentang. Kedua, saya tidak tahu sekarang jikaapache2ctl
memuat ulang modul. Cara "normal" untuk memulai kembali Apache akan menjadi sesuatu sepertisudo service apache2 restart
. Ketiga, bagaimana PHP terhubung ke Apache Anda? Jika Anda menggunakan sesuatu seperti (f) cgi atau php-fpm (berbeda dengan mod-php), Anda mungkin harus me-restart PHP sendiri, selain itu untuk me-restart Apache.php.ini
yang tercantum dalam outputphpinfo
(sekitar entri ke-5 sampai ke-7)? Ini harus berupa file dalam/etc/php5/
. Jika Anda mencari dalam file itumcrypt
, apa yang muncul?mcrypt
paket tersebut. Itu adalah program baris perintah yang menggunakan libmcrypt, seperti halnya ekstensi PHP. Jadi, Anda perlu memastikan paketlibmcrypt4
sudah diinstal. Apakah adaphp.ini
cuplikan/etc/php5/conf.d/mcrypt.ini
? Itu harus memuat lib. Apakah potongan itu dimuat oleh PHP (lihatphpinfo
)? Sekali lagi, apakah Anda mencoba untuk me-restart Apache dengansudo service apache2 restart
bukanapache2ctl
?Jawaban:
Coba ini
sumber
Saya punya masalah serupa di Ubuntu 13.10. Setelah menjalankan komposer, instal menghasilkan kesalahan yang sama, berakhir dengan.
Saya menginstal
mcrypt
danphp5-mcrypt
dengan aptitude, dan masihphp -m
tidak munculmcrypt
sebagai ekstensi yang dimuat:Saya berlari
updatedb
, dan kemudianlocate mcrypt
. Saya menemukanmcrypt.ini
di saya/etc/php5/conf.d
. Namun semua ekstensi lain (seperti json) memiliki file .ini di/etc/php5/apache2/conf.d
dan/etc/php5/cli/conf.d
. Keduanya adalah tautan ke../../mods.available
.Jadi, saya kemudian pindah
mcrypt.ini
ke/etc/php5/available-modules
, dan mengatur tautan:Dan juga untuk
/etc/php5/apache2/conf.d
.Dan voila, itu muncul di
php -m
!sumber
Sepertinya cuplikan ini yang memuat libmcrypt ketika PHP dipanggil oleh Apache tidak ada. Seharusnya ada file yang dipanggil
/etc/php5/apache2/conf.d/mcrypt.ini
dengan konten berikutAnda harus dapat menyalinnya dari konfigurasi PHP lain seperti
/etc/php5/cli/conf.d/mcrypt.ini
atau/etc/php5/conf.d/mcrypt.ini
, tergantung pada apa yang diinstal pada sistem Anda.sumber
Modul mcrypt tidak diaktifkan secara default. Aktifkan modul mcrypt dan kemudian mulai ulang apache ( kredit )
sumber
Nah, ini dia. Sepertinya kadang-kadang kita mencari cara yang paling kusut untuk melakukan sesuatu yang sederhana seperti 'enmod'; ) Seperti Boinst mengatakan:
sudo php5enmod mcrypt
. Kemudian muat ulang apache.sumber