Đọc đồng thời các tệp phẳng gần như không giới hạn (sửa tôi nếu tôi sai); nhưng làm thế nào là đồng thời để viết? Hãy xem xét một bản ghi truy cập đơn giản bằng văn bản (đối với lần) trong PHP như để thêm một dòng chi tiết truy cập kết thúc với \n
Cách LOCK hoạt động để ghi nhật ký vào tệp phẳng?
fopen(); // in append mode
fwrite();
fclose();
Kể từ khi chúng tôi có khách truy cập đồng thời, cách hệ thống (một người sử dụng đó là sử dụng wbserver/php) viết nhật ký xem đồng thời?
Sự nhầm lẫn của tôi là: hàm file_put_contents()
(là một trình bao bọc của ba hàm trên) có tùy chọn khóa (LOCK_EX
)? Có lợi khi sử dụng tùy chọn khóa này không? Làm thế nào điều này sẽ ảnh hưởng đến việc viết nhật ký?
CẬP NHẬT: Câu hỏi của tôi là về cách LOCK
ing ban đầu hoạt động/ảnh hưởng đến việc ghi nhật ký vào tệp. Tôi không so sánh file_put_contents
và fwrite
; ngay cả câu hỏi của tôi không giới hạn ở PHP
. Câu hỏi đặt ra là khóa một tập tin trong quá trình ghi.
'file_put_contents() 'không có một lựa chọn cho khóa, đánh dấu vào [tay] (http://php.net/manual/en/function.file-put-contents.php). – yannis
@YannisRizos Như tôi đã trích dẫn trong câu hỏi ban đầu, tôi biết rằng 'file_put_contents' có' LOCK_EX'. Câu hỏi của tôi là làm thế nào nó ảnh hưởng đến việc viết một bản ghi truy cập. – Googlebot
Vâng, bạn nói đúng, rõ ràng là bình luận của tôi là cho lần sửa đổi thứ hai của câu hỏi. Chỉnh sửa không đúng, cái đó. – yannis