Cách Tải Và Cấu Hình Mở Rộng PHP Bên Thứ Ba Trong ServBay
ServBay đã đi kèm với các mô-đun mở rộng PHP phổ biến cho người dùng, chỉ cần cấu hình và kích hoạt trong ngôn ngữ
- Phiên bản PHP
- Mở rộng
của ServBay.
Tuy nhiên, đôi khi người dùng cần tải các mô-đun không có sẵn trong ServBay. Bài viết này sẽ trình bày cách thực hiện quy trình này.
ServBay cho phép người dùng linh hoạt tải các mở rộng bên thứ ba cho môi trường PHP mà nó quản lý. Tài liệu này sẽ lấy ionCube Loader làm ví dụ để hướng dẫn bạn hoàn thành quy trình toàn diện. Quy trình này cũng có thể tham khảo để tải các mở rộng Zend khác hoặc các mở rộng PHP được biên dịch tự phát (tệp .so
).
Lưu ý: ionCube Loader là một mở rộng Zend, vì vậy khi cấu hình cần sử dụng chỉ thị zend_extension
, thay vì extension
.
Điều Kiện Tiên Quyết
- Bạn đã cài đặt và chạy ServBay.
- Bạn có quyền quản trị để truy cập vào các tệp hệ thống và giao diện cấu hình của ServBay.
- Bạn quen thuộc với việc sử dụng ứng dụng Terminal trên macOS.
Lưu ý
ServBay cung cấp các gói phần mềm PHP được tối ưu hóa cho cả chip Intel và Silicon (M1/M2/M3/M4). Khi tải tệp so
, hãy chắc chắn rằng kiến trúc tệp so
mà bạn đang tải đồng nhất với kiến trúc gói phần mềm của ServBay.
Tệp có kiến trúc khác nhau không thể sử dụng chung, sự không đồng nhất trong kiến trúc sẽ dẫn đến sự cố với PHP.
- Xác định kiến trúc của gói PHP đi kèm với ServBay:
file /Applications/ServBay/package/php/8.3/current/bin/php
Thông tin đầu ra sẽ giống như:
php: Mach-O 64-bit executable arm64 # Kiến trúc Silicon Arm64
php: Mach-O 64-bit executable x86_64 # Kiến trúc Intel x86
2
- Xác định kiến trúc của tệp
so
mà bạn cần cài đặt:
file xdebug.so
Thông tin đầu ra sẽ giống như:
xdebug.so: Mach-O 64-bit bundle arm64 # Kiến trúc Silicon Arm64
xdebug.so: Mach-O 64-bit bundle x86_64 # Kiến trúc Intel x86
2
Các Bước Thực Hiện
Bước 1: Tải IonCube Loader
- Truy cập trang tải xuống chính thức của ionCube Loader. Đối với macOS ARM64 (chíp Apple Silicon M series), hãy tải phiên bản Darwin ARM64. Bạn có thể sử dụng liên kết dưới đây để tải (hãy kiểm tra xem có phiên bản mới hơn không): https://downloads.ioncube.com/loader_downloads/ioncube_loaders_dar_arm64.tar.gz
- Sau khi tải xong, bạn sẽ có một tệp nén
.tar.gz
, ví dụioncube_loaders_dar_arm64.tar.gz
.
Bước 2: Xác định Phiên Bản PHP Đích và Thư Mục Mở Rộng
Mở ứng dụng ServBay.
Trong thanh điều hướng bên trái, nhấp vào Languages.
Trong danh sách bên phải, tìm phiên bản PHP mà bạn muốn cài đặt ionCube Loader (ví dụ, trong trường hợp này là PHP 8.3). Ghi nhớ số phiên bản này.
Các mở rộng PHP của ServBay thường được lưu trữ tại một đường dẫn cụ thể. Dựa trên cấu trúc cài đặt tiêu chuẩn của ServBay và ví dụ từ ảnh chụp màn hình, thư mục mở rộng của PHP 8.3 có thể tương tự như:
/Applications/ServBay/package/php/8.3/8.3.16/lib/php/extensions/no-debug-non-zts-20230831/
/Applications/ServBay/package/php/
là đường dẫn cơ sở cho gói PHP của ServBay.8.3/
là thư mục phiên bản chính.8.3.16/
là thư mục phiên bản PHP cụ thể (hãy điều chỉnh theo phiên bản bạn đã cài đặt).lib/php/extensions/
là thư mục cha của thư mục mở rộng.no-debug-non-zts-xxxxxxxx/
là thư mục tương ứng với phiên bản API cụ thể và các tham số biên dịch (tên thư mục này sẽ thay đổi theo từng phiên bản PHP).
Quan trọng: Bạn cần xác định hoặc tìm đường dẫn chính xác này dựa trên phiên bản PHP đã cài đặt thực tế của bạn trong ServBay và kiến trúc. Bạn cũng có thể tìm kiếm thông qua lệnh terminal (đảm bảo sử dụng đường dẫn PHP do ServBay quản lý):
bash/Applications/ServBay/package/php/8.3/current/bin/php -i | grep extension_dir
1Thay thế
/Applications/ServBay/package/php/8.3/current/bin/php
bằng đường dẫn thực tế của tệp thực thiphp
cho phiên bản PHP mục tiêu của bạn. Đầu ra lệnh sẽ hiển thịextension_dir => /path/to/extension/directory
.
Bước 3: Giải Nén Và Đặt Tệp Loader
- Mở ứng dụng Terminal.
- Sử dụng lệnh
cd
để vào thư mục mà bạn đã tải tệp.tar.gz
(thường là thư mụcDownloads
).bashcd ~/Downloads
1 - Giải nén tệp đã tải:bashĐiều này sẽ tạo ra một thư mục tên là
tar -zxvf ioncube_loaders_dar_arm64.tar.gz
1ioncube
. - Vào thư mục
ioncube
:bashcd ioncube
1 - Trong thư mục này, bạn sẽ thấy các tệp
.so
tương ứng với các phiên bản PHP khác nhau, chẳng hạn nhưioncube_loader_dar_8.3.so
. Tìm tệp phù hợp với phiên bản PHP mục tiêu của bạn (phiên bản đã xác định ở Bước 2, chẳng hạn như 8.3). - Sao chép tệp
.so
phù hợp này vào thư mục mở rộng PHP mà bạn đã xác định ở Bước 2. Giả sử thư mục đích là đường dẫn mô tả ở trên, và bạn muốn cài đặt Loader cho PHP 8.3:bashcp ioncube_loader_dar_8.3.so /Applications/ServBay/package/php/8.3/8.3.16/lib/php/extensions/no-debug-non-zts-20230831/
1- Hãy chắc chắn thay thế đường dẫn đích bằng đường dẫn thư mục mở rộng thực tế cho phiên bản PHP của bạn.
- Đảm bảo sao chép tệp
.so
hoàn toàn khớp với phiên bản PHP.
Bước 4: Cấu Hình PHP Trong ServBay
Quay trở lại giao diện ứng dụng ServBay.
Đảm bảo Languages ở bên trái đã được chọn, sau đó nhấp vào phiên bản PHP mà bạn muốn cấu hình (ví dụ PHP 8.3).
Trong khu vực cấu hình mở rộng bên phải, nhấp vào thẻ PHP (như trong hình dưới đây mũi tên 1).
Cuộn xuống tìm ô văn bản Additional Parameters (Tham số bổ sung).
Trong ô văn bản này, thêm dòng dưới đây (như trong hình mũi tên 2):
inizend_extension = ioncube_loader_dar_8.3.so
1- Lưu ý: tệp
so
cần phải được đặt chính xác trong đường dẫnextension_dir
mà bạn đã xác định ở Bước 3. Hãy kiểm tra cẩn thận. - Sử dụng
zend_extension
thay vìextension
, vì ionCube Loader là một mở rộng Zend. - Nếu ô văn bản này đã có cấu hình khác, hãy thêm dòng chỉ thị này vào một dòng mới.
- Lưu ý: tệp
Nhấp vào nút Save ở góc dưới bên phải để lưu cấu hình.
Bước 5: Khởi Động Lại Dịch Vụ PHP
Sau khi nhấp vào nút Save, ServBay sẽ tự động khởi động lại dịch vụ PHP.
Bước 6: Xác Minh Tải Lại Có Thành Công Hay Không
Có hai cách để xác minh liệu ionCube Loader đã được tải thành công hay chưa:
Thông Qua Dòng Lệnh:
Mở terminal.
Chạy lệnh sau (đảm bảo sử dụng đường dẫn đầy đủ cho phiên bản PHP mục tiêu):
bash/Applications/ServBay/package/php/8.3/current/bin/php -m | grep -i ioncube
1Nếu tải thành công, bạn sẽ thấy đầu ra giống như
ionCube Loader
.Bạn cũng có thể chạy
php -v
để xem thông tin phiên bản, thường thì nếu ionCube đã được tải sẽ hiển thị thông tin liên quan:bash/Applications/ServBay/package/php/8.3/current/bin/php -v
1Ví dụ đầu ra:
PHP 8.3.16 (cli) (built: Jan 31 2025 15:09:39) (NTS) Copyright (c) The PHP Group Zend Engine v4.3.16, Copyright (c) Zend Technologies with the ionCube PHP Loader v14.4.0, Copyright (c) 2002-2024, by ionCube Ltd.
1
2
3
4
Thông Qua phpinfo():
- Tạo một tệp PHP chứa nội dung
<?php phpinfo(); ?>
(ví dụ tệpinfo.php
) và đặt nó trong thư mục gốc của trang web của bạn. - Truy cập tệp đó qua trình duyệt (ví dụ
http://your-local-site.test/info.php
). - Trong trang đầu ra
phpinfo()
, tìm kiếm "ionCube". Nếu tải thành công, bạn sẽ thấy một khối thông tin ionCube Loader riêng, hiển thị phiên bản và các thông tin chi tiết khác.
- Tạo một tệp PHP chứa nội dung
Tóm Tắt
Theo các bước trên, bạn nên có khả năng thành công trong việc tải ionCube Loader hoặc các mở rộng PHP bên thứ ba cho phiên bản PHP cụ thể mà ServBay quản lý. Quan trọng là tìm đúng tệp mở rộng, xác định chính xác thư mục mở rộng PHP, và thêm đúng chỉ thị trong cấu hình ServBay (zend_extension
hoặc extension
). Nếu gặp vấn đề, hãy kiểm tra kỹ đường dẫn, quyền tệp và xem liệu có khởi động lại dịch vụ PHP hay không.