Hướng dẫn set php ini

Khi lập trình php, việc cấu hình file php.ini ảnh hưởng nhất định đến cách bạn viết code. Ngoài ra nó góp phần quan trọng khi bạn chạy các ứng dụng trên phiên bản PHP. Vì vậy, vinasuport sẽ hướng dẫn các bạn tìm hiểu các thiết lập php.ini căn bản.

Chú ý sau khi thay đổi setting file php.ini các bạn cần restart lại httpd để nhận config mới.

File php.ini ở đâu?

Để tìm file php.ini, cách đơn giản và chính xác nhất là sử dụng command sau:

php --ini

Hướng dẫn set php ini

Như vậy chúng ta thấy được đường dẫn của file php.ini ở mục: Loaded Configuration File

Thiết lập file php.ini căn bản

Tham số Giá trị mặc định Giải thích
short_open_tag Off
  • On: Cho phép sử dụng php tag ngắn
  • Off: Không cho phép sử dụng
max_execution_time 30 Thời gian thực hiện tối đa (tính bằng giây) để script php được chạy.

VD: max_execution_time = 60s

max_input_time 60 Thời gian tối đa (tính bằng giây) mỗi script php có thể dành để phân tích dữ liệu yêu cầu (request).
disable_functions Không cho phép 1 số function được thưc thi trong script php. Điều này đặc biệt có ý nghĩa về mặt bảo mật.

VD: disable_functions=exec,shell_exec

memory_limit 128 Dung lượng bộ nhớ tối đa mà script được sử dụng (Mặc định là 128MB)
error_reporting E_ALL & ~E_DEPRECATED & ~E_STRICT Thiết lập cấp độ lỗi hiển thị

VD:

  • E_ALL: Báo tất cả các loại lỗi
  • E_ERROR: Báo lỗi nghiêm trọng khi chạy
  • E_WARNING: Báo lỗi warning (script php vẫn chạy tiếp)
  • E_PARSE: Báo lỗi parsing php (sai cú pháp)
  • E_NOTICE: …
display_errors Off Lệnh này cho phép xem PHP có xuất ra lỗi hay không
log_errors On Bên cạnh việc hiển thị lỗi, PHP cũng có thể log lỗi trên server, STDERR hoặc vị trí được chỉ định bởi error_log
post_max_size 8M Kích thước tối đa của dữ liệu POST mà PHP sẽ chấp nhận.
file_uploads On Cho phép upload file với PHP
upload_max_filesize 2M Kích thước tối đa được phép cho các tập tin được tải lên.
max_file_uploads 20 Số lượng tệp tối đa có thể được tải lên cho mỗi request

Nội dung đang được cập nhật

Nguồn: vinasupport.com

Khi PHP chạy, nó sẽ nạp các cấu hình để thay đổi cách nó ứng sử từ các file php.ini, hầu hết các thiết lập được thực hiện ở đây (một số thiết lập thực hiện được trực tiếp từ code php - hàm ini_set(), có hiệu lực cho phiên làm việc đó).

Tìm xem file php.ini ở đâu: Vị trí php.ini trên đĩa, ví dụ tìm được /usr/local/php/etc/php.ini

Có rất nhiều thiết lập có thể thực hiện trong file php.ini, danh sách đầy đủ ở đây: List of php.ini directives

Việc thay đổi thiết lập bạn chỉ việc mở file php.ini bằng trình soạn thảo text bất kỳ, tìm đến thiết lập cần sửa đổi, điều chỉnh, lưu lại!

Nếu muốn từ terminal tìm xem php.ini đang thiết lập một chỉ thị như thế nào, ví dụ đang thiết lập short_open_tag như thế nào gõ lệnh như sau:

# grep '^short_open_tag' /usr/local/php/etc/php.ini
short_open_tag = On

Các thiết lập php.ini cơ bản

short_open_tag

short_open_tag=On

Bật chế độ cho phép sử dụng tag php ngắn

short_open_tag=Off

Bắt buộc chỉ được phép dùng dạng tag đầy đủ


output_buffering

output_buffering=Off

Trường hợp tắt nghĩa là PHP không sử dụng đệm để gửi thông tin về trình duyệt, nghĩa là bất kỳ khi nào Script php xuất nội dung nó sẽ gửi ngay về cho client. Điều này sẽ làm chậm hệ thống, vì dữ liệu gửi về trình duyệt bị chia nhỏ thành nhiều phần.

output_buffering=On (mặc định dùng 4096 byte làm đệm)

hoặc

output_buffering=8192 (chỉ ra một số byte cụ thể làm đệm)

Trường hợp này, khi dữ liệu gửi về đạt tới bộ đệm thì gửi về cho client hoặc khi script kết thúc mới gửi về, nói chung bạn nên dùng thiết lập này

allow_url_fopen

allow_url_fopen=Off không cho phép mở file qua địa chỉ URL - ftp, http - (dùng để an toàn)

allow_url_fopen=On cho phép mở file qua địa chỉ URL

allow_url_include

allow_url_include=Off không cho phép include file qua địa chỉ URL (ftp, http - dùng để an toàn)

allow_url_include=On cho phép include file qua địa chỉ URL

max_execution_time

max_execution_time=30 thời gian chạy script là 30s, quá thời gian đó sẽ ngắt ngay lập tức và báo lỗi. Thiết lập giá trị thích hợp (30, 60 ...) đảm bảo không quá tải tài nguyên

disable_functions

Tắt không cho PHP chạy các hàm được chỉ ra, thường dùng chỉ ra các hàm có nguy cơ ảnh hưởng tới bảo mật, ví dụ:

disable_functions=exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

CÁC THIẾT LẬP BẮT LỖI PHP
display_errors

display_errors=On hoặc display_errors=Off, bất tắt hiện thị cho user biết thông tin về lỗi nếu khi php chạy lỗi xảy ra. (trong quá trình phát triển bạn để On để xem lỗi, còn khi phát hành chính thức web để bảo mật thì tắt)

error_reporting

Thiết lập cấp độ hiện thị thông báo lỗi, có các giá trị là:

E_ALL             - Báo cáo tất cả các loại lỗi
E_ERROR           - Lỗi nghiêm trọng khi chạy
E_WARNING         - Lỗi warning (có lỗi nhưng script php vẫn chạy tiếp)
E_PARSE           - Lỗi parsing php (sai cú pháp)
             

Ví dụ: error_reporting = E_ALL

log_errors

log_errors=On cho phép ghi ra log các lỗi, log_errors=Off tắt lưu log

error_log

Thiết lập file và log PHP lưu vào, ví dụ: error_log = "/urs/local/php/log/php_errors.log"

Nếu error_log=syslog (mặc định) các log sẽ lưu vào syslog

UPLOAD FILE
file_uploads
upload_max_filesize

file_uploads=On cho phép PHP Upload file

file_uploads=Off không có phép Upload

upload_max_filesize=1M kích thước file tối đa được phép 1MB

upload_tmp_dir

upload_tmp_dir="/etc/temp" lơi lưu file tạm thời khi Upload

SESSION
session.save_path

session.save_path="/etc/temp" thiết lập nơi lưu PHP SESSION, trên đĩa hoặc một Server nào đó, ví dụ lưu ở Memchache session.save_path="127.0.0.1:11211". Xem Memcached để biết cài đặt

session.save_handler

session.save_handler=files thiết lập hàm lưu SESSION, ví dụ lưu trên đĩa là files, lưu vào Memcachedmemcached