Chào các bạn, sau nhiều năm phát triển web, phiên bản PHP 7.0 và PHP 7.1 đã lỗi thời và không còn được PHP support nữa. Kéo theo việc những dự án trước đó sử dụng Laravel 4.2 không thể chạy được trên PHP 7.2 bởi vì không hỗ trợ mcrypt
.
Khách hàng của mình có những khách từ 2014 đang dùng Laravel 4 cũng cần phải được nâng lên PHP 7.3 để theo kịp thời đại, vì thế trong bài này mình sẽ hướng dẫn bạn sử dụng Laravel 4.2 trên PHP 7.3 trên CentOS 7.
1. Cài đặt Pelc/Mcrypt extension
Trên hệ điều hành Centos bạn chạy lệnh sau để cài Pelc
yum install php-pear
sudo pecl instal mcrypt-1.0.1
Nếu hiện như hình là đã thành công.
2. Cài đặt Laravel 4.2
Mình sẽ tạo folder là laravel kèm phiên bản là 4.2
composer create-project laravel/laravel laravel 4.2 --prefer-dist
Sau khi cài đặt thành công bạn sẽ thấy lỗi như hình
Function mcrypt_get_iv_size() is deprecated
Bạn cần cài đặt 1 package hỗ trợ Encrypter cho PHP > 7.1 tại đây
composer require tomgrohl/laravel4-php71-encrypter
Sau đó mở file app/config.php
và chèn trong service provider:
\Tomgrohl\Laravel\Encryption\EncryptionServiceProvider::class
Và vẫn trong config.php
mình sẽ cập nhật lại key
32 ký tự bất kỳ và cipher
MCRYPT_RIJNDAEL_128 sang 'AES-256-CBC'
Và kết quả bạn sẽ nhận được sau khi F5 lại
Như vậy mình đã hướng dẫn bạn các chạy Laravel 4 trên các phiên bản PHP mới nhất, nếu thấy hay hãy chia sẻ giúp mình. Còn nếu có thắc mắc hãy comment phía dưới nhé.
Cám ơn bạn đã đọc bài.