2009-07-18 16 views
5

ogni volta che un utente accede al nostro Wiki riceve il seguente errore: "Questo Wiki utilizza i cookie per accedere agli utenti. Hai disabilitato i cookie. Abilitalo e riprova." Anche se viene visualizzato l'errore, l'utente ha effettivamente effettuato l'accesso e può apportare modifiche normalmente. Se l'utente non guardare da vicino non si può dire che sono registrati nel e sta causando confusione Sarei felice se qualcuno mi dà un suggerimentoproblema con i cookie mediawiki

risposta

12

consiglio di Wikimedia è

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.

Se stai usando un sito di hosting che devi modificare la tua configurazione di scripting php (php.ini). La pagina dovrebbe avere informazioni sulla tua radice del documento web. Se esiste già una cartella "tmp" creata, allora usala. Se non c'è una cartella tmp nella configurazione attuale, creane una che NON sia navigabile dagli utenti e dì al file php.ini il percorso come sopra indicato.

+0

Questo era il mio problema: "* ... (e) assicurarsi che l'account Guest Internet (ad esempio IUSR_FOOBAR, nessuno o apache) disponga delle autorizzazioni di scrittura per la cartella elencata nella variabile' session.save_path' del php file .ini "* – Geremia

7

Per riferimento futuro ... Abbiamo appena avuto un problema simile su Appropedia (stesso errore, ma non è stato possibile accedere affatto). Si è scoperto che la directory temporanea era piena. Cancellato la directory temporanea, problema risolto.

3

It turned out the temp directory was full

Nel mio caso è stato perché l'intera partizione era pieno, bisogno di più spazio.

+0

grazie, ho avuto lo stesso problema – snow8261

0

Il problema che ho avuto è dovuto all'installazione predefinita del nostro PHP utilizzando C: \ windows \ temp come cartella di base per la sessione PHP e altri dati.

Naturalmente, una volta che qualcuno si svuota la cartella temporanea perché il suo pieno di spazzatura .... le sottocartelle per informazioni PHP andare con esso troppo: \

-1

Se si utilizza Nginx + PHP-FPM il le risposte precedenti probabilmente non saranno di alcuna assistenza.

Dalla riga di comando, eseguire:

-i php-fpm | grep --color cookie_path

vedere che cosa il vostro cookie_path è, quindi stat la cartella e garantire l'utente php-fpm ha accesso in scrittura ad esso.

Per risolvere questo problema utilizzando Nginx e Php-Fpm, ho dovuto modificare il mio percorso cookie da predefinito di// (seriamente, perché questo sarebbe un valore predefinito?) A/tmp.

Dopo aver riavviato nginx e php-fpm, funziona perfettamente.

+0

Sto usando lighttpd e php-fpm e le altre risposte non hanno funzionato per me, ma questa risposta ha un errore: session.cookie_path è il percorso URL del cookie di sessione, i. e. a quale "parte" del sito web si applica la sessione, non dove sul file system sono memorizzati i dati del server di sessione. –

+0

Invece di downvoting il mio commento perché sei arrabbiato, hai voluto postare alcune informazioni come l'errore che si sta ottenendo? Sembra che tu stia utilizzando un URL invece del percorso unix, quindi sembra che l'errore sia colpa tua e non ha nulla a che fare con la mia spiegazione. Il percorso della sessione è sicuramente il percorso unix e mai un URL. La sessione deve vivere sul filesystem perché ci sia sempre una sessione. – DevOops

+0

Da PHP.net: session.cookie_path string session.cookie_path specifica il percorso da impostare nel cookie di sessione.Predefinito a /. Vedi anche session_get_cookie_params() e session_set_cookie_params(). – DevOops