2009-07-18 38 views
5

bất cứ khi nào người dùng đăng nhập vào Wiki của chúng tôi họ nhận được lỗi sau: "Wiki này sử dụng cookie để đăng nhập người dùng. Bạn đã tắt cookie. Vui lòng bật và thử lại." Mặc dù lỗi hiển thị, người dùng thực sự đã đăng nhập và có thể thực hiện các chỉnh sửa như bình thường. Nếu người dùng không nhìn kỹ họ không thể nói họ đang đăng nhập và nó gây ra sự nhầm lẫn tôi sẽ rất vui nếu có ai mang lại cho tôi một gợi ývấn đề với cookie mediawiki

Trả lời

12

lời khuyên của Wikimedia là

Check to make sure PHP's directory for storing session data is writable. This directory can be found in the php.ini file under the session.save_path setting. Errors in this php.ini setting can also cause other problems.

... (and) make sure the Internet Guest Account (eg. IUSR_FOOBAR, nobody, or apache) has write permissions to the folder listed in the session.save_path variable of the php.ini file.

Source.

Nếu bạn đang sử dụng một trang web lưu trữ bạn cần chỉnh sửa cấu hình tập lệnh php của bạn (php.ini). Trang nên có thông tin về gốc tài liệu web của bạn. Nếu đã có thư mục "tmp" được tạo thì hãy sử dụng nó. Nếu không có thư mục tmp trong thiết lập hiện tại của bạn, hãy tạo một thư mục KHÔNG được người dùng duyệt và cho tệp php.ini biết vị trí như được hướng dẫn ở trên.

+0

Đây là vấn đề của tôi: "* ... (và) đảm bảo Tài khoản khách Internet (ví dụ: IUSR_FOOBAR, không ai hoặc apache) có quyền ghi vào thư mục được liệt kê trong biến' session.save_path' của php .ini tập tin. * " – Geremia

7

Để tham khảo trong tương lai ... Chúng tôi vừa gặp sự cố tương tự trên Appropedia (cùng lỗi, nhưng không thể đăng nhập được). Hóa ra thư mục tạm thời đã đầy. Đã xóa thư mục tạm thời, sự cố được giải quyết.

3

It turned out the temp directory was full

Trong trường hợp của tôi là do toàn bộ phân vùng đầy, cần nhiều không gian hơn.

+0

cảm ơn, tôi đã nhận được cùng một vấn đề – snow8261

0

Vấn đề tôi vừa gặp là do cài đặt mặc định của PHP bằng C: \ windows \ temp làm thư mục cơ sở cho phiên PHP và các dữ liệu khác.

Tất nhiên, một khi một ai đó đổ ra thư mục tạm thời vì đầy đủ của rác .... các thư mục con để biết thông tin PHP đi với nó quá: \

-1

Nếu bạn đang sử dụng Nginx + PHP-FPM sự câu trả lời trước đó có thể sẽ không có bất kỳ sự trợ giúp nào.

Từ dòng lệnh, hãy chạy:

-i php-fpm | grep --color cookie_path

Xem gì cookie_path của bạn, sau đó stat thư mục và đảm bảo sử dụng php-fpm bạn đã viết truy cập cho nó.

Để giải quyết vấn đề này bằng Nginx và Php-Fpm, tôi phải thay đổi cookie_path của mình từ mặc định/(nghiêm túc, tại sao đây là mặc định?) Thành/tmp.

Sau khi khởi động lại nginx và php-fpm, nó hoạt động hoàn hảo.

+0

Tôi đang sử dụng lighttpd và php-fpm và các câu trả lời khác không hoạt động đối với tôi, nhưng câu trả lời này có lỗi: session.cookie_path là đường dẫn URL của cookie phiên, i. e. mà "phần" của trang web mà phiên đó áp dụng, không phải ở đâu trên hệ thống tệp, dữ liệu máy chủ phiên được lưu trữ. –

+0

Thay vì giảm nhận xét của tôi vì bạn bị điên, bạn có muốn đăng một số thông tin như lỗi bạn đang nhận không? Có vẻ như bạn đang sử dụng URL thay vì đường dẫn unix, vì vậy có vẻ như lỗi là lỗi của bạn và không liên quan gì đến giải thích của tôi. Đường dẫn phiên chắc chắn là đường dẫn unix và không bao giờ là URL. Phiên làm việc phải tồn tại trên hệ thống tập tin để có một phiên làm việc. – DevOops

+0

Từ PHP.net: session.cookie_path string session.cookie_path chỉ định đường dẫn để đặt trong cookie phiên.Mặc định là /. Xem thêm session_get_cookie_params() và session_set_cookie_params(). – DevOops