Cách biên dịch mô-đun PHP
Trong quá trình phát triển PHP với ServBay, bạn có thể cần biên dịch và cài đặt các mô-đun PHP bổ sung để mở rộng tính năng của PHP. Bài viết này sẽ hướng dẫn bạn cách biên dịch mô-đun PHP trong môi trường ServBay, cụ thể là biên dịch mô-đun imagick
và sqlsrv
.
Điều kiện tiên quyết
Lưu ý
Hãy đảm bảo thực hiện theo các hướng dẫn bên dưới để khởi tạo môi trường biên dịch và thiết lập biến môi trường hệ thống, nếu không, các bước sau sẽ không thành công!
Trước khi bắt đầu biên dịch mô-đun PHP, hãy chắc chắn rằng bạn đã hoàn thành việc khởi tạo môi trường biên dịch. Về cách khởi tạo môi trường biên dịch, vui lòng tham khảo tài liệu Sử dụng ServBay để biên dịch lại.
Sự 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, vì vậy khi sử dụng phpize
, php-config
và các công cụ khác để biên dịch, bạn nhất định phải chỉ định phiên bản PHP bạn đang sử dụng. Điều này là cần thiết 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; việc chọn đúng phiên bản có thể giúp tránh lỗi biên dịch và vấn đề thời gian chạy.
Ví dụ này lấy PHP 8.3
làm ví dụ.
Biên dịch mô-đun PHP imagick
Mô-đun imagick
là một phần mở rộng của PHP, dùng để xử lý các thao tác liên quan đến hình ảnh. Dưới đây là các bước biên dịch mô-đun imagick
:
Bước 1: Tải mã nguồn
Đầu tiên, tải gói mã nguồn của mô-đun 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 tệp cấu hình
Sử dụng phpize
để tạo tệp cấu hình. Trong quá trình này, hãy chắc chắn chỉ định phiên bản PHP mà bạn đang sử dụng. Ví dụ, nếu bạn đang 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 mô-đun imagick
.
make -j ${CPU_NUMBER}
make install
2
Bước 6: Kích hoạt mô-đun
Tạo một tệp imagick.ini
trong thư mục conf.d
của PHP để kích hoạt mô-đun imagick
. Ví dụ:
echo "extension=imagick.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/imagick.ini
Bước 7: Xác thực mô-đun đã được tải
Khởi động lại dịch vụ PHP thông qua bảng quản lý của ServBay, sau đó kiểm tra qua dòng lệnh để xác định liệu mô-đun đã được tải thành công hay chưa:
php-8.3 -m | grep imagick
Nếu mô-đun đã đượ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 mô-đun PHP sqlsrv
Lưu ý
Điều kiện tiên quyết: Để biên dịch sqlsrv trên macOS, bạn cần cài đặt trình điều khiển ODBC của Microsoft msodbcsql18
và mssql-tools18
.
ServBay không đi kèm với MS ODBC, hãy sử dụng homebrew để cài đặt.
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql18 mssql-tools18
2
3
Mô-đun sqlsrv
là một phần mở rộng của PHP, dùng để tương tác với Microsoft SQL Server. Dưới đây là các bước biên dịch mô-đun sqlsrv
:
Bước 1: Tải mã nguồn
Đầu tiên, tải gói mã nguồn của mô-đun 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 tệp cấu hình
Sử dụng phpize
để tạo tệp cấu hình. Trong quá trình này, hãy chắc chắn chỉ định phiên bản PHP mà bạn đang sử dụng. Ví dụ, nếu bạn đang 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.
export LDFLAGS="-L/opt/homebrew/lib ${LDFLAGS}"
export CPPFLAGS="-I/opt/homebrew/opt/unixodbc/include ${CPPFLAGS}"
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config
2
3
Bước 5: Biên dịch và cài đặt
Biên dịch và cài đặt mô-đun sqlsrv
.
make -j ${CPU_NUMBER}
make install
2
Bước 6: Kích hoạt mô-đun
Tạo một tệp sqlsrv.ini
trong thư mục conf.d
của PHP để kích hoạt mô-đun sqlsrv
. Ví dụ:
echo "extension=sqlsrv.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/sqlsrv.ini
Bước 7: Xác thực mô-đun đã được tải
Khởi động lại dịch vụ PHP thông qua bảng quản lý của ServBay, sau đó kiểm tra qua dòng lệnh để xác định liệu mô-đun đã được tải thành công hay chưa:
php-8.3 -m | grep sqlsrv
Nếu mô-đun đã được tải thành công, bạn sẽ thấy sqlsrv
xuất hiện trong kết quả đầu ra.
Tóm tắt
Qua các bước trên, bạn có thể biên dịch và cài đặt các mô-đun PHP cần thiết trong môi trường ServBay. Trong quá trình biên dịch, hãy chắc chắn chỉ định đúng phiên bản PHP để đảm bảo mô-đun tương thích với môi trường PHP của bạn. Hy vọng bài viết này sẽ giúp bạn hoàn thành công việc biên dịch và kích hoạt mô-đun PHP một cách suôn sẻ.