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.