Considering donating if you found my post helpful ๐
Mungkin ada di antara anda yang tahu bahawa modul mcrypt telah dibuang secara kekal daripada PHP 7.2 kerana moduk tersebut tidak mempunyai sebarang pembangunan lebih daripada 10 tahun. Hal ini agak menyusahkan bagi pengguna yang memerlukan mcrypt, tetapi harus dilakukan bagi mengekalkan kestabilan PHP.
Saya menggunakan Nginx sebagai panduan dan sekiranya anda menggunakan Apache, mungkin ada sedikit langkah berbeza.
Pertama, anda harus pastikan anda sedang menggunakan PHP 7.2.
$ php -v
Pasangkan beberapa pakej yang diperlukan untuk compile modul mcrypt, lalu pasang mcrypt.
$ sudo apt -y install gcc make autoconf libc-dev pkg-config php-pear php7.2-dev
$ sudo apt -y install libmcrypt-dev
$ sudo pecl install mcrypt-1.0.1
Apabila anda dipaparkan dengan pilihan seperti ini:
libmcrypt prefix? [autodetect] :
Tekan [ENTER]
.
Setelah selesai, akan terpapar mesej seperti ini
...
Build process completed successfully
Installing '/usr/lib/php/20170718/mcrypt.so' ----> this is our path to mcrypt extension lib
install ok: channel://pecl.php.net/mcrypt-1.0.1
configuration option "php_ini" is not set to php.ini location
You should add "extension=mcrypt.so" to php.ini
Kemudian anda perlu membuat konfigurasi di dalam PHP
Untuk php-cli:
$ sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini"
Untuk php-fpm:
$ sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/fpm/conf.d/mcrypt.ini"
Apabila selesai, sahkan mcrypt telah terpasang
php -i | grep "mcrypt"
Anda seharusnya akan melihat paparan seperti ini
/etc/php/7.2/cli/conf.d/mcrypt.ini
Registered Stream Filters => zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*, mcrypt.*, mdecrypt.*
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value
Considering donating if you found my post helpful ๐