Na veel zoeken en speuren maar besloten hier de vraag te stellen. Ik heb al enige tijd een kleine test Drupal op mijn computer staan. Na de laatste update van PHP kan hij echter geen sessies meer maken. Of beter gezegd afsluiten. Hij kan namelijk wel een sessie maken maar niet wegschrijven.
Ik krijg bij het inloggen in Drupal namelijk de volgende meldingen in de DB. Dit is voor 1 inlog sessie.
Het vervelende is dat phpMyAdmin ook met sessies werkt en wel gewoon goed inlogt. Ik snap dan ook niet dat het voor drupal niet mogelijk is om een sessie te maken. Misschien dat er een fout zit in de code van de drupal code. Daarom hier de functie drupal_session_commit()
Hoop dat jullie kunnen helpen ik weet het namelijk niet meer. Alles oplossingen online werken niet. De map waar de sessie in wordt geschreven is namelijk 777 en andere programmas waar onder phpMyAdmin kunnen wel sessies beheren.
Daniël
Ik krijg bij het inloggen in Drupal namelijk de volgende meldingen in de DB. Dit is voor 1 inlog sessie.
code:
1
2
3
4
| Session opend for Admin Warning: session_write_close(): Failed to write session data (user). Please verify that the current setting of session.save_path is correct (/var/lib/php5/) in drupal_session_commit() (line 330 of file includes/session.inc) access denied for page user/1 Warning: session_destroy(): Session object destruction failed in drupal_session_commit() (line 314 of include/session.inc) |
Het vervelende is dat phpMyAdmin ook met sessies werkt en wel gewoon goed inlogt. Ik snap dan ook niet dat het voor drupal niet mogelijk is om een sessie te maken. Misschien dat er een fout zit in de code van de drupal code. Daarom hier de functie drupal_session_commit()
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| function drupal_session_commit() { global $user, $is_https; if (!drupal_save_session()) { // We don't have anything to do if we are not allowed to save the session. return; } if (empty($user->uid) && empty($_SESSION)) { // There is no session data to store, destroy the session if it was // previously started. if (drupal_session_started()) { session_destroy(); } } else { // There is session data to store. Start the session if it is not already // started. if (!drupal_session_started()) { drupal_session_start(); if ($is_https && variable_get('https', FALSE)) { $insecure_session_name = substr(session_name(), 1); $params = session_get_cookie_params(); $expire = $params['lifetime'] ? REQUEST_TIME + $params['lifetime'] : 0; setcookie($insecure_session_name, $_COOKIE[$insecure_session_name], $expire, $params['path'], $params['domain'], FALSE, $params['httponly']); } } // Write the session data. session_write_close(); } } |
Hoop dat jullie kunnen helpen ik weet het namelijk niet meer. Alles oplossingen online werken niet. De map waar de sessie in wordt geschreven is namelijk 777 en andere programmas waar onder phpMyAdmin kunnen wel sessies beheren.
Daniël