2014-10-27 2 views
1

Я смог создать сеансы 3 дня назад. Код не изменился. Но теперь я не могу создать сеанс. Сообщение об ошибке: Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (c:\web\dev\session) in Unknown on line 0.PHP не создает сеанс

Если я копирую путь c:\web\dev\session в команду запуска Windows, он открывает путь, поэтому я проверил, что путь существует. Я также получаю ошибку: Warning: session_start(): The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in C:\Web\dev\backdoor\request.php on line 10, но я не указываю PHP ID.

Мой код выглядит следующим образом:

$user_row является массив со всеми данными пользователей на сессии в нем.

session_save_path('c:\web\dev\session'); 
session_start(); 

$_SESSION['user'] = $user_row; 
$_SESSION['security']['ip'] = $_SERVER['REMOTE_ADDR']; 
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
    $_SESSION['forwarded_for'] = $_SERVER['HTTP_X_FORWARDED_FOR']; 
    } else { 
     $_SESSION['security']['forwarded_for'] = false; 
    } 

Я использую Apache 2.4 и PHP 5.6

Я видел this link, но это только кажется, чтобы решить эту проблему, если вы используете IIS. Я не могу найти решение с Apache.

Я также попытался удалить файл .htaccess из моего корневого каталога.

+1

какие окна вы используете? make shure php может записываться в директорию. Возможно, фокус может заключаться в том, чтобы установить webroot не на c: root-dir – donald123

+0

В общем, вам не нужно указывать 'session_save_path()'. Убедитесь, что пользователь службы Apache имеет разрешение на запись в эту папку. – Raptor

+0

Вы пытались очистить кеш браузера и активные сеансы? Кроме того, убедитесь, что у Apache есть разрешение на запись в эту папку. Кроме того, 'session_save_path()' звучит как overkill. – ThisBoyPerforms

ответ

1

Попробуйте настроить свой идентификатор сеанса php на что-то и посмотреть, работает ли это.

У меня была такая же проблема, и когда я установил идентификатор php на что-то, что сработало. Я думаю, что его ошибка или сбой в новой версии php, которая должна быть решена