$_server 'document_root' trong php w3schools

Bộ nhớ đệm một trang web động là rất quan trọng. Khi phát triển website bằng PHP, cache thường bị bỏ qua. Cache giúp tăng tốc độ phản hồi của website. Trên web, cải thiện hiệu suất nano giây có thể tạo nên điều kỳ diệu

Nếu trang web của bạn phụ thuộc vào lưu lượng truy cập của công cụ tìm kiếm, thì bộ đệm sẽ là ưu tiên hàng đầu của bạn. Google coi tốc độ trang là một khía cạnh quan trọng của trang web

Trong hướng dẫn PHP này, tôi sẽ tạo một cơ chế cache đơn giản mà không cần sử dụng bất kỳ framework nào. Bộ đệm sẽ được tạo tùy chỉnh bằng mã PHP và điều đó cũng chỉ với một vài dòng mã

Vì nó đơn giản nên đừng đánh giá thấp mã, nó rất hiệu quả. Tôi đang sử dụng nó trên một trong những trang web trực tiếp của mình với kết quả tuyệt vời

Cách tiếp cận bộ đệm

Chúng ta có thể đạt được cơ chế bộ đệm hiệu quả bằng quy trình hai bước như bên dưới

  1. “htaccess” để kiểm tra xem tệp được lưu trong bộ nhớ cache có 'không' hay không, hãy gọi một trang PHP
  2. Trang PHP được gọi thực hiện bộ nhớ đệm và gửi phản hồi

Bước 1. . htaccess để kiểm tra tệp Cache

Thư mục bộ đệm không nên tách biệt như bạn thường thấy trong nhiều hệ thống. Nó không phải là cần thiết. Trong bạn thấy WordPress, nếu bạn thêm một plugin như ‘WP Super Cache’, nó sẽ tạo một thư mục riêng để lưu trữ các tệp bộ đệm

QUAN TRỌNG. Tôi đề xuất một cách tiếp cận khác, lưu trữ các tệp trên đĩa đối với vị trí URL như thể các tệp được cung cấp trực tiếp từ đĩa

Bây giờ hãy thiết kế. htaccess RewriteRule theo cách mà nó phải là một dự phòng. Nghĩa là, nếu tệp vật lý không có trong đĩa đối với vị trí yêu cầu, thì hãy gọi tệp PHP động

# Checks if the file is physically NOT present
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^[[a-z0-9-]+]+/[[a-z0-9-]+]\.html$	/controller.php?partA=$1&partB=$2 [L]

Quy tắc viết lại ở trên được viết cho các URL có phần mở rộng là “. html”. Nếu bạn không có tiện ích mở rộng này thì bạn cần xóa phần tiện ích mở rộng đó đi và nó sẽ hoạt động theo kế hoạch

Quy tắc này kiểm tra xem trang được lưu trong bộ nhớ cache có ở vị trí nhất định hay không nếu không gọi bộ điều khiển. tập tin php. Ở đó, chúng tôi sẽ chuyển tiếp đến trang động tương ứng dựa trên các đối số

Bước 2. Lưu trữ trang động

Khi tệp PHP động được gọi, tất cả những gì bạn cần làm là lưu trữ tệp trong đĩa và gửi phản hồi. Vì vậy, lần đầu tiên, “htaccess” sẽ gọi trang PHP và nó sẽ tạo tệp bộ đệm

Sau đó, tệp PHP động này sẽ không được gọi cho đến khi tệp bộ đệm được xóa khỏi đĩa

Tạo một tệp và đặt tên cho nó là cache.php và đặt đoạn mã sau. Sau đó bao gồm bộ đệm này. php trên đầu trang động có nội dung bạn muốn lưu vào bộ đệm

bộ đệm. php

function cache_page[$content] {
	//path location where the cache file should be placed
	$fileName = $_SERVER['DOCUMENT_ROOT'].$_SERVER["REQUEST_URI"];
	if[false !== [$f = @fopen[$fileName, 'w']]] {
      fwrite[$f, $content];
      fclose[$f];
    }
    return $content.'';
}
// Start the output buffer for cache with callback on buffer-flush
 ob_start['cache_page'];

Bây giờ chúng ta hãy xem cách đưa tệp này vào một trang động. Hãy xem xét rằng chúng tôi đang lưu trữ nội dung của bài viết trang PHP. php

mạo từ. php

require_once["cache.php"];
//here you have all the dynamic part of page
//like for example, you may access a database

Vậy nó hoạt động như thế nào, chúng tôi đang sử dụng tùy chọn gọi lại có sẵn. Chúng tôi bắt đầu bộ đệm đầu ra và khi xóa bộ đệm, chúng tôi đang khai báo một hàm gọi lại 'cache_page' sẽ được gọi

Vì vậy, khi nội dung đã sẵn sàng để được phục vụ, phương thức này sẽ được gọi và chúng tôi ghi nội dung vào đĩa và thêm một dòng để nói rằng nó mới và tiếp tục với phản hồi

Bạn có để ý dòng cuối cùng trong cả hai bộ đệm. php và bài viết. php? . Nếu được lưu vào bộ đệm, khi nó được lưu vào bộ đệm

Nhấp chuột phải và xem nguồn xem khi trang được hiển thị và bạn có thể tìm thấy thời gian bộ đệm cũng như nếu trang được phục vụ mới

Xóa bộ nhớ cache và hết hạn không được xử lý. Nó sẽ được đề cập trong một hướng dẫn riêng

Tôi đang sử dụng phương pháp này trên trang web của mình và nó đã cho kết quả tuyệt vời. Nếu bạn đang sử dụng ‘Google Webmaster Tools’ [Search Console], ở đó bạn có thể thấy thời gian phản hồi trung bình

Sau khi triển khai cơ chế bộ đệm này, tôi đã cải thiện được 50% thời gian phản hồi. Hãy thử điều này và cho tôi biết

$_ MÁY CHỦ DOCUMENT_ROOT trong PHP là gì?

$_SERVER['DOCUMENT_ROOT'] trả về . Thư mục gốc của tài liệu mà tập lệnh hiện tại đang thực thi , như được xác định trong tệp cấu hình của máy chủ.

$_ MÁY CHỦ [' Script_name '] là gì?

$_SERVER là một mảng chứa thông tin như tiêu đề, đường dẫn và vị trí tập lệnh. Các mục trong mảng này được tạo bởi máy chủ web

$_ MÁY CHỦ ['Chuỗi_truy vấn'] là gì?

$_SERVER là một mảng chứa thông tin như tiêu đề, đường dẫn và vị trí tập lệnh. Các mục trong mảng này được tạo bởi máy chủ web, do đó không có gì đảm bảo rằng mọi máy chủ web sẽ cung cấp bất kỳ mục nào trong số này;

$_ trong PHP là gì?

Tên biến phân biệt chữ hoa chữ thường. Tên biến tuân theo các quy tắc giống như các nhãn khác trong PHP. Tên biến hợp lệ bắt đầu bằng một chữ cái hoặc dấu gạch dưới, theo sau là bất kỳ số lượng chữ cái, số hoặc dấu gạch dưới nào. Vì vậy, $_ chỉ là một biến tùy ý .

Chủ Đề