Tôi mới sử dụng PHP. Tôi hiểu rằng tôi có thể sử dụng flock()
để khóa tệp và tránh điều kiện cuộc đua khi hai người dùng tiếp cận cùng một tệp php thêm nội dung vào tệp có thể khóa.Làm thế nào để tránh deadlocks tập tin khi quá trình PHP/máy chủ bị treo?
Tuy nhiên, điều gì xảy ra nếu quá trình php bị lỗi? Điều gì sẽ xảy ra với người dùng tiếp theo đang chờ tệp có thể khóa? Điều gì xảy ra nếu máy chủ bị treo (ai đó kéo phích cắm)? Khóa có tự động được giải phóng không? Tệp sẽ vẫn bị khóa sau khi khởi động lại máy chủ?
Để làm cho ngắn gọn, PHP có đảm bảo các tình huống quan trọng như vậy (tức là, khóa không được phát hành rõ ràng) được xử lý đúng cách không? Nếu không, làm thế nào nên đối phó với những tình huống này? Làm thế nào để phục hồi từ những?