Tôi gặp vấn đề lạ với ứng dụng Laravel 5.1.Laravel 5.1 thả dữ liệu phiên ngẫu nhiên
Không liên tục, nó sẽ làm giảm dữ liệu phiên. Tôi đã phát hiện ra điều này bằng cách viết một số phần mềm trung gian viết nội dung của phiên cho yêu cầu đó vào tệp nhật ký. Mặc dù ID phiên (Session::getId()
) không thay đổi, giá trị của _token
trong dữ liệu phiên được truy xuất với Session::all()
không.
Như tôi nói, điều này xảy ra không liên tục. Tôi có thể làm mới cùng một URL nhiều lần và sau đó ngẫu nhiên vào một lần làm mới dữ liệu phiên đã biến mất và giá trị _token
khác với các yêu cầu trước đó.
Điều gì sẽ gây ra điều này? Tôi cũng đã nhận thấy đối tượng flash
không có trong dữ liệu phiên "bị bỏ".
Dưới đây là một đoạn trích nhật ký. Bạn có thể thấy nội dung của khóa session_data
ngẫu nhiên thay đổi "hình dạng" trong hai dòng cuối cùng, nhưng ID phiên vẫn không đổi.
Ngoài ra, không chắc chắn nếu nó phù hợp, nhưng tôi đã bật DebugBar.
UPDATE: Qua gỡ lỗi, tôi đã tìm thấy rằng trên một số trang tải phiên là hoàn toàn trống, như trong, không _token
(vì thế một cái mới bị tạo ra). Không có gì.
Điều này xảy ra thường xuyên như thế nào? Bởi vì tôi đã cố gắng tái tạo điều này bằng cách kích hoạt DebugBar, tạo một phần mềm trung gian ghi nhật ký id phiên và dữ liệu dưới dạng JSON tuần tự giống như bạn đang làm, sau đó được gọi là một tuyến đường có chế độ xem tự động làm mới mỗi giây và để nó như thế Khoảng 10 phút. Nhưng nó không làm mới mã thông báo CSRF hoặc thả bất kỳ dữ liệu phiên nào.Điều này đã được thực hiện với 'artisan serve' và trình điều khiển phiên' file', vì vậy bạn có thể muốn đăng thêm thông tin về môi trường của bạn. – Bogdan
Điều này xảy ra sau mỗi một hoặc hai phút. Ứng dụng đang chạy dưới Apache. Tôi có thể làm mới URL và nó sẽ mất dữ liệu ngẫu nhiên theo ảnh chụp màn hình sau một số lần làm mới. Không có mô hình thực sự, nó đang cố gắng tìm ra nguyên nhân khó khăn. –
Đề xuất đầu tiên của tôi là cố gắng tái tạo vấn đề bằng cách cài đặt sạch Laravel một cái gì đó theo những gì tôi đã mô tả trong bình luận đầu tiên của mình, ít nhất là xem có vấn đề gì với mã ứng dụng của bạn hay không. thiết lập của bạn. – Bogdan