Cài đặt và bật extension fileinfo trong PHP 7 linux (centos,ubuntu)
- 04-07-2021
- trienkhaiweb
- 0 Comments
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.
Mục lục
1. Kiểm tra FileInfo extension đã được cài đặt trong môi trường hiện tại chưa:
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.
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
Phpize là tool để compile các PHP extension, dựa vào thông tin của hệ thống để tạo tệp cấu hình tương ứ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
Gõ lệnh sau để tìm đường dẫn cho php-config
php-config
Sau khi tìm thấy đường dẫn, gõ câu lệnh sau:
./configure --with-php-config=/www/server/php/72/bin/php-config
Với tham số "/www/server/php/72/bin/php-config" tương ứng với đường dẫn file php-config trong môi trường của bạn
Nếu đúng, kết quả sẽ trả ra với dòng cuối tương tự như sau:
configure: creating ./config.status
config.status: creating config.h
8. Biên dịch và cài đặt
Gõ lệnh sau:
make && make install
Nếu thành công, kết quả sẽ trả về dạng:
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20190902/
8. Tìm file php.ini và active extension fileinfo
;extension=fileinfo
(Bỏ comment – dấu “;” đằng trước extension=fileinfo để kích hoạt extension
9. Gõ lệnh restart php-fpm
service php-fpm restart
Sau khi khởi động lại php, chạy lại câu lệnh để kiểm tra fileinfo
php -i | grep fileinfo
Chúc bạn thành công !