Я смог создать сеансы 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 из моего корневого каталога.
какие окна вы используете? make shure php может записываться в директорию. Возможно, фокус может заключаться в том, чтобы установить webroot не на c: root-dir – donald123
В общем, вам не нужно указывать 'session_save_path()'. Убедитесь, что пользователь службы Apache имеет разрешение на запись в эту папку. – Raptor
Вы пытались очистить кеш браузера и активные сеансы? Кроме того, убедитесь, что у Apache есть разрешение на запись в эту папку. Кроме того, 'session_save_path()' звучит как overkill. – ThisBoyPerforms