Thay đổi cài đặt PHP
ServBay đi kèm với môi trường PHP và cung cấp các tùy chọn cấu hình linh hoạt. Bài viết này sẽ giới thiệu chi tiết cách thay đổi cài đặt PHP trong ServBay, bao gồm vị trí của các tệp php.ini
và php-fpm.conf
cũng như các mục cấu hình thường gặp. Tùy thuộc vào phiên bản PHP, các tệp này nằm trong thư mục /Applications/ServBay/etc/php/<version>
. Ngoài ra, tệp cấu hình tải các mô-đun PHP (như tệp xdebug.ini
) nằm trong thư mục /Applications/ServBay/etc/php/<version>/conf.d
.
Quan trọng
Vui lòng không tự chỉnh sửa các tệp cấu hình. Tất cả các tệp cấu hình đều được ServBay tự động tạo, việc chỉnh sửa thủ công có nguy cơ bị ghi đè. Hãy thay đổi thông qua giao diện người dùng.
Tổng quan
Trong ServBay, các tệp cấu hình PHP được lưu trữ theo phiên bản trong các thư mục khác nhau. Ví dụ, tệp cấu hình cho PHP 8.3 nằm trong thư mục /Applications/ServBay/etc/php/8.3
. Dưới đây là vị trí chi tiết của các tệp cấu hình này:
php.ini
:/Applications/ServBay/etc/php/8.3/php.ini
php-fpm.conf
:/Applications/ServBay/etc/php/8.3/php-fpm.conf
- Tệp cấu hình tải mô-đun PHP:
/Applications/ServBay/etc/php/8.3/conf.d/
Thay đổi thông qua giao diện UI của ServBay
ServBay đi kèm giao diện quản lý mạnh mẽ, người dùng có thể trực tiếp thay đổi các tham số cấu hình khác nhau trong giao diện quản lý, tự động áp dụng thay đổi và có hiệu lực ngay lập tức sau khi nhấp vào lưu, giúp loại bỏ sự phiền hà khi phải chỉnh sửa tham số theo cách thủ công.
Mở ngôn ngữ
từ điều hướng bên trái, chọn phiên bản PHP cần chỉnh sửa, sau đó bạn sẽ thấy menu chỉnh sửa bên phải. Một giao diện điển hình như hình dưới
Trên giao diện, được chia thành 3 mục cấu hình khác nhau, tương ứng với cấu hình PHP-FPM, PHP, và mô-đun PHP. Dưới đây sẽ giới thiệu cụ thể từng mục.
PHP FPM
Lời khuyên
php-fpm.conf
ảnh hưởng đến cách PHP được thực thi trong dịch vụ Web, tất cả cài đặt sẽ được ưu tiên (ghi đè) lên cấu hình trong php.ini
.
Tuy nhiên, cài đặt này sẽ không ảnh hưởng đến cách mã được thực thi trong cli.
Trước tiên là giao diện cấu hình PHP FPM. Dù là Caddy hay NGINX, PHP trong dịch vụ Web của ServBay đều chạy bằng phương thức FPM. Trên giao diện này, bạn có thể cấu hình số lượng tiến trình FPM, giới hạn bộ nhớ, mức độ lỗi log, có hiển thị thông báo lỗi trong trình duyệt hay không, v.v.
Ví dụ, nếu chúng ta muốn thay đổi Memory Limit
từ 64M lên 1G trên Web, thì chỉ cần chọn 1G
trong menu thả xuống Memory Limit
, sau đó lưu lại là xong. Thay đổi này sẽ không ảnh hưởng đến cài đặt trong php.ini
, khi chạy PHP script theo chế độ cli thì vẫn bị kiểm soát bởi php.ini
.
Giả sử php.ini
cấu hình Memory Limit
là 512M
, PHP FPM
cấu hình Memory Limit
là 128M
, thì cùng một script chạy trong cli có thể sử dụng bộ nhớ là 512M, khi chạy trong Web có thể sử dụng bộ nhớ là 128M.
php.ini
Lời khuyên
Cài đặt trong php.ini
là toàn cục, ảnh hưởng đến cả cli và Web. Tuy nhiên, cài đặt trong php.ini
có thể bị php-fpm.conf
ghi đè trong Web.
Phần cấu hình PHP đối chiếu với các mục cấu hình trong php.ini
, đây là tệp cấu hình lõi của PHP.
Tại đây, bạn có thể cấu hình hầu hết các tùy chọn trong php.ini
, chẳng hạn như post_max_size
ảnh hưởng đến biểu mẫu post và upload_max_filesize
ảnh hưởng đến kích thước file tải lên. Cũng có thể thiết lập các hàm vô hiệu hóa disable_functions
và các lớp vô hiệu hóa disable_classes
, v.v.
Lưu ý, vì là thiết lập toàn cục, nếu bạn muốn cài đặt open_basedir
, nên tạo dự án website trong thư mục Applications/ServBay/www
để tránh cài đặt nhiều thư mục khi thiết lập open_basedir
.
Tham khảo các trường cấu hình chi tiết từ tài liệu hướng dẫn chính thức của php.ini.
Mô-đun mở rộng
ServBay có sẵn nhiều mô-đun mở rộng PHP thông dụng như xDebug
, OPcache
, Image Magick
, Redis
, MongoDB
, Phalcon
, Swoole
, v.v. Tham khảo danh sách mô-đun chi tiết từ Danh sách mô-đun mở rộng PHP.
Kích hoạt mô-đun PHP rất đơn giản, chỉ cần bật công tắc và nhấp lưu là xong. Đối với các mô-đun có thêm mục cấu hình như xDebug, cũng có thể dễ dàng thay đổi cấu hình trực tiếp.
Thay đổi bằng cách chỉnh sửa tệp cấu hình thủ công
WARNING
Cách chỉnh sửa tệp cấu hình thủ công chỉ nên dùng để thay đổi một số cấu hình tạm thời.
Chúng tôi không khuyến khích chỉnh sửa tệp cấu hình PHP theo cách thủ công vì tất cả thay đổi sẽ bị ServBay ghi đè.
Cấu hình php.ini
Tệp php.ini
là tệp cấu hình chính của PHP, dùng để đặt các tùy chọn runtime khác nhau của PHP.
Các mục cấu hình thường gặp
Dưới đây là một số mục cấu hình php.ini
thường gặp và cách thay đổi:
Thay đổi giới hạn bộ nhớ:
memory_limit = 256M
1Thay đổi giới hạn kích thước tập tin tải lên:
upload_max_filesize = 50M post_max_size = 50M
1
2Thay đổi cài đặt múi giờ:
date.timezone = "Asia/Hong_Kong"
1Bật hiển thị lỗi:
display_errors = On error_reporting = E_ALL
1
2Thay đổi thời gian thực thi tối đa:
max_execution_time = 300
1
Cấu hình php-fpm.conf
Tệp php-fpm.conf
dùng để cấu hình các tham số hoạt động của PHP-FPM (FastCGI Process Manager).
Các mục cấu hình thường gặp
Dưới đây là một số mục cấu hình php-fpm.conf
thường gặp và cách thay đổi:
Thay đổi cài đặt nhóm tiến trình:
[www] listen = /Applications/ServBay/tmp/php-cgi-8.3.sock listen.backlog = -1 listen.allowed_clients = 127.0.0.1 ;listen.owner = www ;listen.group = www listen.mode = 0666 ;user = www ;group = www pm = dynamic pm.max_children = 10 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 6 pm.max_requests = 1024 pm.process_idle_timeout = 10s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Bật nhật ký chậm:
request_slowlog_timeout = 5s slowlog = /Applications/ServBay/logs/php/8.3/slow.log
1
2Thay đổi đường dẫn nhật ký lỗi:
error_log = /Applications/ServBay/logs/php/8.3/errors.log
1
Cấu hình tải mô-đun PHP
Tệp cấu hình tải mô-đun PHP nằm trong thư mục /Applications/ServBay/etc/php/8.3/conf.d/
. Ví dụ: tệp xdebug.ini
dùng để cấu hình mở rộng Xdebug.
Ví dụ xdebug.ini
Dưới đây là một ví dụ về tệp xdebug.ini
:
[Xdebug]
; Uncomment the following line to enable XDebug
zend_extension = xdebug.so
xdebug.mode=debug,develop
xdebug.start_with_request=yes
xdebug.client_host=localhost
xdebug.client_port=39083
xdebug.log=/Applications/ServBay/logs/xdebug/8.3/xdebug.log
2
3
4
5
6
7
8
Khởi động lại PHP
Sau khi chỉnh sửa tệp cấu hình PHP, cần khởi động lại dịch vụ PHP để thay đổi có hiệu lực. Có thể thực hiện thông qua giao diện quản lý của ServBay hoặc dùng công cụ dòng lệnh servbayctl
để khởi động lại.
Khởi động lại qua giao diện quản lý của ServBay
- Mở giao diện quản lý của ServBay.
- Điều hướng đến
dịch vụ
. - Tìm phiên bản PHP tương ứng và nhấp nút
khởi động lại
.
Khởi động lại qua servbayctl
Sử dụng công cụ dòng lệnh servbayctl
để tiện lợi khởi động lại dịch vụ PHP:
servbayctl restart php 8.3
Tóm tắt
Trong ServBay, tệp cấu hình PHP nằm trong thư mục /Applications/ServBay/etc/php/<version>
, bao gồm php.ini
và php-fpm.conf
. Tệp cấu hình tải mô-đun PHP nằm trong thư mục /Applications/ServBay/etc/php/<version>/conf.d/
. Sau khi chỉnh sửa các tệp cấu hình này, có thể khởi động lại dịch vụ PHP thông qua giao diện quản lý của ServBay hoặc dùng công cụ dòng lệnh servbayctl
để thay đổi có hiệu lực.