Hướng dẫn php 7.4 enable extensions - php 7.4 kích hoạt tiện ích mở rộng

Lời mở đầu: Nếu là coder php và làm việc với laravel, dù khi code dưới local, code của bạn chạy tốt nhưng trong môi trường dev linux (centos,ubuntu) nếu đã gặp trường hợp Intervention\Image trong laravel báo lỗi “unable to load dynamic library ‘fileinfo'”, thì đây là bài viết dành cho bạn.

  • 1. Kiểm tra FileInfo extension đã được cài đặt trong môi trường hiện tại chưa:
  • 2. Kiểm tra php version: nếu chưa có php thì vui lòng cài đặt, nếu lệnh trả về phiên bản cua php, tiếp tục sang bước 3
  • 3. Tìm đường dẫn của extension file info
  • 4. Di chuyển tới thư mục chứa extension fileinfo
  • 5. Tìm đường dẫn phpize
  • 6. Khởi tạo cài đặt mở rộng
  • 7. Tìm và tạo cấu hình biên dịch
  • 8. Biên dịch và cài đặt
  • 8. Tìm file php.ini và active extension fileinfo
  • 9. Gõ lệnh restart php-fpm

1. Kiểm tra FileInfo extension đã được cài đặt trong môi trường hiện tại chưa:

2. Kiểm tra php version: nếu chưa có php thì vui lòng cài đặt, nếu lệnh trả về phiên bản cua php, tiếp tục sang bước 3
Nếu terminal thông báo:
fileinfo
fileinfo support => enabled

Mọi thứ ok ! Nếu không, chuyển sang bước 2.

2. Kiểm tra php version: nếu chưa có php thì vui lòng cài đặt, nếu lệnh trả về phiên bản cua php, tiếp tục sang bước 3

php -v

3. Tìm đường dẫn của extension file info

find / -name fileinfo
Câu lệnh này sẽ trả ra kết quả đường dẫn của fileinfo như sau tùy thuộc vào môi trường bạn cài đặt:
/www/server/php/72/src/ext/fileinfo
/svr-setup/php-7.4.16/ext/fileinfo

4. Di chuyển tới thư mục chứa extension fileinfo


cd /www/server/php/72/src/ext/fileinfo
Hoặc
cd /svr-setup/php-7.4.16/ext/fileinfo

5. Tìm đường dẫn phpize

6. Khởi tạo cài đặt mở rộng

find / -name phpize
Câu lệnh này sẽ trả ra kết quả đường dẫn của phpize như sau tùy thuộc vào môi trường bạn cài đặt:
/www/server/php/72/src/scripts/phpize
/www/server/php/72/bin/phpize

Sau khi lấy được thông tin đường dẫn của phpize, hãy chắc chắn rằng hiện tại bạn đang ở thư mục fileinfo nhờ lệnh cd ở phần 3

6. Khởi tạo cài đặt mở rộng


Gõ lệnh:
/www/server/php/72/src/scripts/phpize
hoặc
/www/server/php/72/bin/phpize
tùy đường dẫn phpize trong môi trường của bạn, nếu đúng, kết quả sẽ trả ra dạng như thế này:
Configuring for:
PHP Api Version: 20190902
Zend Module Api No: 20190902
Zend Extension Api No: 320190902

7. Tìm và tạo cấu hình biên dịch

8. Biên dịch và cài đặt

wget http://packages.psychotic.ninja/7/plus/x86_64/RPMS/libzip-0.11.2-6.el7.psychotic.x86_64.rpm
 wget http://packages.psychotic.ninja/7/plus/x86_64/RPMS/libzip-devel-0.11.2-6.el7.psychotic.x86_64.rpm
rpm -ivh libzip-*.rpm
echo "extension=zip.so" > /usr/local/lsws/lsphp74/etc/php.d/20-zip.ini
    
0
Sau khi tìm thấy đường dẫn, gõ câu lệnh sau:
wget http://packages.psychotic.ninja/7/plus/x86_64/RPMS/libzip-0.11.2-6.el7.psychotic.x86_64.rpm
 wget http://packages.psychotic.ninja/7/plus/x86_64/RPMS/libzip-devel-0.11.2-6.el7.psychotic.x86_64.rpm
rpm -ivh libzip-*.rpm
echo "extension=zip.so" > /usr/local/lsws/lsphp74/etc/php.d/20-zip.ini
    
1

8. Biên dịch và cài đặt

8. Tìm file php.ini và active extension fileinfo

wget http://packages.psychotic.ninja/7/plus/x86_64/RPMS/libzip-0.11.2-6.el7.psychotic.x86_64.rpm
 wget http://packages.psychotic.ninja/7/plus/x86_64/RPMS/libzip-devel-0.11.2-6.el7.psychotic.x86_64.rpm
rpm -ivh libzip-*.rpm
echo "extension=zip.so" > /usr/local/lsws/lsphp74/etc/php.d/20-zip.ini
    
2

8. Tìm file php.ini và active extension fileinfo

9. Gõ lệnh restart php-fpm
(Bỏ comment – dấu “;” đằng trước extension=fileinfo để kích hoạt extension

9. Gõ lệnh restart php-fpm

php -i | grep fileinfo Nếu terminal thông báo: fileinfo
fileinfo support => enabled
Mọi thứ ok ! Nếu không, chuyển sang bước 2.

4. Di chuyển tới thư mục chứa extension fileinfo
php -i | grep fileinfo
Chúc bạn thành công !

Hiện tại mình và các khách hàng của mình khi cài đặt ZIP Extension trên phiên bản PHP 7.4 thì gặp lỗi không thể cài đặt được extension này. Sau đó lướt qua forums CyberPanel thì thấy khá nhiều người bị giống mình. Vậy đây chắc không phải là lỗi của mình rồi. Mà có thể là bug từ Panel.

Package lsphp74-common-7.4.2-1.el7.x86_64 already installed and latest version
Nothing to do
PHP Extension Installed.
Ảnh lỗi trong quá trình cài đặt
Hướng dẫn php 7.4 enable extensions - php 7.4 kích hoạt tiện ích mở rộng

Hướng dẫn php 7.4 enable extensions - php 7.4 kích hoạt tiện ích mở rộng
Ảnh lỗi trong quá trình cài đặt

Vì không thể cài đặt trực tiếp từ giao diện do đó mình sẽ phải cài đặt thủ công thôi. Và hiển nhiên để cài đặt bạn phải SSH vào máy chủ với quyền Root. Và copy chạy đồng loạt các lệnh bên dưới nhé.

wget http://packages.psychotic.ninja/7/plus/x86_64/RPMS/libzip-0.11.2-6.el7.psychotic.x86_64.rpm
 wget http://packages.psychotic.ninja/7/plus/x86_64/RPMS/libzip-devel-0.11.2-6.el7.psychotic.x86_64.rpm
rpm -ivh libzip-*.rpm
echo "extension=zip.so" > /usr/local/lsws/lsphp74/etc/php.d/20-zip.ini
    

Hướng dẫn php 7.4 enable extensions - php 7.4 kích hoạt tiện ích mở rộng

Sau khi cài đặt xong thì bạn hãy khởi động lại dịch vụ httpd và lsws bằng 2 lệnh bên dưới.

systemctl restart lshttpd
systemctl restart lsws

Để đảm bảo rằng đã hoạt động thì mình nhanh tay tạo một file info.php để kiểm tra. Nếu hiện ra như ảnh thì đã thành công rồi bạn nhé.

Hướng dẫn php 7.4 enable extensions - php 7.4 kích hoạt tiện ích mở rộng

Nguồn tham khảo: https://forums.cyberpanel.net/discussion/comment/12316#Comment_12316

Nếu bạn cần hỗ trợ hãy để lại bình luận bên dưới. Hoặc đặt bất kỳ các câu hỏi tại diễn đàn để được hỗ trợ