2009-07-18 13 views
5

za każdym razem, gdy użytkownik loguje się do naszej Wikipedii, otrzymuje następujący błąd: "Ta strona używa plików cookie do logowania użytkowników. Masz wyłączone pliki cookie. Włącz je i spróbuj ponownie." Mimo że wyświetlany jest błąd, użytkownik jest rzeczywiście zalogowany i może wprowadzać zmiany w normalny sposób. Jeśli użytkownik nie wygląda dokładnie nie można powiedzieć, że jesteś zalogowany i to jest przyczyną nieporozumień będę zadowolony, jeśli ktoś daje mi wskazówkęProblem z ciastkami mediawiki

Odpowiedz

12

rada Wikimedia jest

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.

Jeśli używają strony hostingowej, aby edytować konfigurację skryptów php (php.ini). Strona powinna zawierać informacje o katalogu głównym dokumentów internetowych. Jeśli istnieje już folder "tmp", użyj go. Jeśli w aktualnej konfiguracji nie ma folderu tmp, utwórz taki, który NIE jest możliwy do przeglądania przez użytkowników, a plik php.ini wskaż lokalizację wskazaną powyżej.

+0

To był mój problem: "* ... (i) upewnij się, że Konto gościa internetowego (np. IUSR_FOOBAR, nikt lub apache) ma prawa zapisu do folderu wymienionego w zmiennej' session.save_path' w php .ini file. * " – Geremia

7

Na przyszłość ... W Appropedia wystąpił podobny problem (ten sam błąd, ale w ogóle nie można się zalogować). Okazało się, że katalog temp był pełny. Usunięto katalog tymczasowy, problem rozwiązany.

3

It turned out the temp directory was full

W moim przypadku było tak, ponieważ cała partycja była pełna, potrzebowała więcej miejsca.

+0

dziękuję, mam ten sam problem – snow8261

0

Problem Właśnie miałem z powodu domyślnej instalacji naszego PHP przy użyciu C: \ windows \ temp jako folderu podstawowego dla sesji PHP i innych danych.

Oczywiście, gdy ktoś wpada z folderu temp ponieważ jego pełne śmieci .... podfoldery do informacji PHP iść z nim zbyt: \

-1

Jeśli używasz Nginx + PHP-FPM się poprzednie odpowiedzi prawdopodobnie nie będą pomocne.

z linii komend, uruchom:

php-fpm -i | grep --color cookie_path

Zobacz co się cookie_path jest, potem stat folder i zapewnić sobie php-fpm Filmaster napisać dostęp do tego.

Aby rozwiązać ten problem za pomocą Nginx i Php-Fpm, musiałem zmienić swoją ścieżkę cookie z domyślnej// poważnie, dlaczego miałaby to być domyślna?) Do/tmp.

Po ponownym uruchomieniu nginx i php-fpm działa idealnie.

+0

Używam lighttpd i php-fpm, a inne odpowiedzi nie działają dla mnie, ale ta odpowiedź zawiera błąd: session.cookie_path jest ścieżką URL plik cookie sesji, mi. do której "części" witryny odnosi się sesja, a nie gdzie w systemie plików przechowywane są dane serwera sesji. –

+0

Zamiast dodawać komentarz, ponieważ jesteś szalony, czy chcesz opublikować jakieś informacje, takie jak błąd, który otrzymujesz? Wygląda na to, że używasz adresu URL zamiast ścieżki unix, więc brzmi to tak, jakby błąd był twoją winą i nie ma nic wspólnego z moim wyjaśnieniem. Ścieżka sesji jest zdecydowanie ścieżką uniksową, a nigdy adresem URL. Sesja musi żyć w systemie plików, aby kiedykolwiek mogła się odbyć sesja. – DevOops

+0

Z PHP.net: ścieżka session.cookie_path ścieżka session.cookie_path określa ścieżkę do ustawienia w pliku cookie sesji.Domyślne wartości to /. Zobacz także session_get_cookie_params() i session_set_cookie_params(). – DevOops