Cách biên dịch module PHP
Khi phát triển PHP với ServBay, bạn có thể cần biên dịch và cài đặt các module PHP bổ sung để mở rộng chức năng của PHP. Bài viết này sẽ hướng dẫn cách biên dịch các module PHP trong môi trường ServBay, cụ thể là biên dịch module imagick
và module sqlsrv
.
Điều kiện tiên quyết
Trước khi bắt đầu biên dịch các module PHP, hãy đảm bảo bạn đã hoàn thành việc khởi tạo môi trường biên dịch. Để biết các bước chi tiết về cách khởi tạo môi trường biên dịch, hãy tham khảo tài liệu Sử dụng ServBay để biên dịch lại.
Tầm quan trọng của việc chỉ định phiên bản PHP
ServBay đi kèm với nhiều phiên bản PHP, khi sử dụng phpize
, php-config
và các công cụ khác để biên dịch, nhất định phải chỉ định phiên bản PHP mà bạn đang sử dụng. Đó là vì các phiên bản PHP khác nhau có thể có cấu hình và phụ thuộc khác nhau, chọn đúng phiên bản có thể tránh được lỗi biên dịch và các vấn đề khi chạy.
Trong ví dụ này, chúng ta sử dụng PHP 8.3
.
Biên dịch module PHP imagick
Module imagick
là một phần mở rộng của PHP, được sử dụng để xử lý các thao tác hình ảnh. Các bước để biên dịch module imagick
như sau:
Bước 1: Tải mã nguồn
Trước tiên, tải gói mã nguồn của module imagick
từ PECL.
wget https://pecl.php.net/get/imagick-3.7.0.tgz
Bước 2: Giải nén gói mã nguồn
Giải nén gói mã nguồn đã tải xuống.
tar zxvf imagick-3.7.0.tgz
cd imagick-3.7.0
2
Bước 3: Tạo file cấu hình
Sử dụng phpize
để tạo file cấu hình. Trong quá trình này, nhất định phải chỉ định phiên bản PHP mà bạn đang sử dụng. Ví dụ, nếu bạn sử dụng PHP 8.3, hãy chạy lệnh sau:
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize
Bước 4: Cấu hình tùy chọn biên dịch
Cấu hình các tùy chọn biên dịch, chỉ định đường dẫn cấu hình PHP.
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config
Bước 5: Biên dịch và cài đặt
Biên dịch và cài đặt module imagick
.
make -j ${CPU_NUMBER}
make install
2
Bước 6: Kích hoạt module
Trong thư mục conf.d
của PHP, tạo một file imagick.ini
để kích hoạt module imagick
. Ví dụ:
echo "extension=imagick.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/imagick.ini
Bước 7: Xác minh module đã được tải
Khởi động lại dịch vụ PHP thông qua bảng điều khiển của ServBay, sau đó xác minh module có được tải thành công hay không thông qua dòng lệnh:
php-8.3 -m | grep imagick
Nếu module đã được tải thành công, bạn sẽ thấy imagick
xuất hiện trong kết quả đầu ra.
Biên dịch module PHP sqlsrv
Module sqlsrv
là một phần mở rộng của PHP, được sử dụng để tương tác với Microsoft SQL Server. Các bước biên dịch module sqlsrv
như sau:
Bước 1: Tải mã nguồn
Trước tiên, tải gói mã nguồn của module sqlsrv
từ PECL.
wget https://pecl.php.net/get/sqlsrv-5.12.0.tgz
Bước 2: Giải nén gói mã nguồn
Giải nén gói mã nguồn đã tải xuống.
tar zxvf sqlsrv-5.12.0.tgz
cd sqlsrv-5.12.0
2
Bước 3: Tạo file cấu hình
Sử dụng phpize
để tạo file cấu hình. Trong quá trình này, nhất định phải chỉ định phiên bản PHP mà bạn đang sử dụng. Ví dụ, nếu bạn sử dụng PHP 8.3, hãy chạy lệnh sau:
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize
Bước 4: Cấu hình tùy chọn biên dịch
Cấu hình các tùy chọn biên dịch, chỉ định đường dẫn cấu hình PHP.
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config
Bước 5: Biên dịch và cài đặt
Biên dịch và cài đặt module sqlsrv
.
make -j ${CPU_NUMBER}
make install
2
Bước 6: Kích hoạt module
Trong thư mục conf.d
của PHP, tạo một file sqlsrv.ini
để kích hoạt module sqlsrv
. Ví dụ:
echo "extension=sqlsrv.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/sqlsrv.ini
Bước 7: Xác minh module đã được tải
Khởi động lại dịch vụ PHP thông qua bảng điều khiển của ServBay, sau đó xác minh module có được tải thành công hay không thông qua dòng lệnh:
php-8.3 -m | grep sqlsrv
Nếu module đã được tải thành công, bạn sẽ thấy sqlsrv
xuất hiện trong kết quả đầu ra.
Tổng kết
Thông qua các bước trên, bạn có thể biên dịch và cài đặt các module PHP cần thiết trong môi trường ServBay. Trong quá trình biên dịch, chắc chắn chỉ định đúng phiên bản PHP để đảm bảo các module tương thích với môi trường PHP của bạn. Hy vọng bài viết này có thể giúp bạn hoàn thành công việc biên dịch và kích hoạt module PHP một cách suôn sẻ.