Install PHP 7.3 Internationalization extension-Intl on XAMPP on MacOs

Khi bạn gặp lỗi bên dưới khi cài đặt extension Intl bằng PECL thì bạn có thể thử cách sau.

1 error generated. make: *** [php_intl.lo] Error 1 ERROR: `make' failed

Lưu ý: các bạn nên thử cho version mới nhất của php nếu thấy không có hiệu quả thì hạ phiên bản php xuống. Trong ví dụ này là mình dùng cho php 7.3.31 vì phiên bản 7.4.25 và 8 bị lỗi unicode library. Nếu bạn nào có thể sửa được trong source để build thành công thì có thể email mình update hoặc share cho mọi người thêm.

Cách 1. Khi bạn search trên mạng là install Php-intl thì sẻ được hướng dẫn những dòng lệnh sau

which php

Nếu xuất hiện đường dẫn đến php của XAMPP như bên dưới thì được.
/Applications/XAMPP/xamppfiles/bin/php 

Nếu xuất hiện như bên dưới này thì cần đặt lại đường PATH
/usr/bin/php 

Đặt lại đường PATH như bên dưới.
PATH="/Applications/XAMPP/xamppfiles/bin:${PATH}" 

Cài đặt icu4c
brew install icu4c 

Update peel
sudo pecl update-channels 

Cài đặt Intl
sudo pecl install intl 
Nếu ở bước này thành công không báo lỗi như ở đầu bài thì sử dụng dòng lệnh bên dưới để kiểm tra lại. Coi như xong
php -m | grep intl #should return 'intl' 

Nếu trường hợp xui hơn báo lỗi thì bạn cần lấy php đúng với version trong XAMPP mà build Intl từ source của php. Bạn có thể lấy như link bên dưới

https://www.php.net/downloads.php

Bạn vẫn phải kiểm tra xem php PATH có trỏ về XAMPP của mình không. Nếu không thì gán lại, ở trên mình có hướng dẫn.

Sau khi download source php đúng với version của XAMPP xong thì bắt đầu build. Lý do cho việc này là vì XAMPP không support thư viện này. Các bước như sau:

Giải nén php source mà mình vừa download về, nếu dùng lệnh này mà không work thì bạn có thể vào thư mục ~/Download mà giải nén luôn. Không cần cầu kỳ chi cho mệt.
tar -xzvf php-7.3.31.tar.gz

Đi vào thư mục vừa giải nén. Vì đây mình dùng phiên bản 7.3.31 nên thư mục sẻ là 7.3.31.
cd php-7.3.31/ext/intl/

Chạy các dòng lệnh build và cài đặt extension này.
/Applications/XAMPP/bin/phpize
./configure --enable-intl --with-php-config=/Applications/XAMPP/bin/php-config --with-icu-dir=/Applications/XAMPP/xamppfiles/
make
sudo make install 

Nếu thành công thì vào file /Applications/XAMPP/xamppfiles/etc/php.ini  thêm dòng extension=intl.so này vào. Restart lại Apache là xong.

Nếu xui phiên bản php lấy về không build được ngay dòng make thì một là bạn sữa theo lỗi hiện ra hoặc lấy version php khác gần với nó build thử. Hơi tốn thời gian và công sức nhưng sử dụng đỗ free nên đành chửi.

Chúc các bạn thành công.