2015-12-01 4 views
0

Я довольно новичок в PHP, и я пытаюсь создать систему входа, в которой имя пользователя хранится в PHP cookie через сеанс. Таким образом, в видеоуроке я узнал, что я использую session_start(); чтобы запустить сеанс cookie, установите переменную, если условие выполнено. Я использую XAMPP, чтобы проверить мой PHP, поэтому, когда я загрузить страницу, я получаю эту ошибку:Ошибка PHP session_start (нет такого файла или каталога)

Warning: session_start() [function.session-start]: open(Desktop\xampp\tmp\sess_5bre7v153kb1hoftovugl77o52, O_RDWR) failed: No such file or directory (2) in C:\Users------\Desktop\xampp\htdocs[folder]\checkLogin.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Users----\Desktop\xampp\htdocs[folder]\checkLogin.php:2) in C:\Users----\Desktop\xampp\htdocs[folder]\checkLogin.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Users----\Desktop\xampp\htdocs[Folder]\checkLogin.php:2) in C:\Users----\Desktop\xampp\htdocs[Folder]\checkLogin.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at C:\Users----\Desktop\xampp\htdocs[Folder]\checkLogin.php:2) in C:\Users----\Desktop\xampp\htdocs[Folder]\checkLogin.php on line 19

Warning: Unknown: open(----\Desktop\xampp\tmp\sess_5bre7v153kb1hoftovugl77o52, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (----\Desktop\xampp\tmp) in Unknown on line 0**

У меня есть временную папку в моих файлах XAMPP, где он указывает, что не удалить эту папку как это должен быть для PHP для создания сеансов. Вот мой PHP код:

<?php 
session_start(); 
if (isset($_POST["submit"])) { 
    $username = $_POST["username"]; 
    $password = $_POST["password"]; 
    $check = false; 
    $information = fopen("user_information.txt", "r"); 
    while (!feof($information)) { 
    $content = explode(":", rtrim(fgets($information, 1024))); 
    if ($username == $content[0] && ($password) == $content[1]) { 
     $check = true; 
     break; 
    } 
    } 
    fclose($information); 

    if ($check) { 
    define('BASE_URL', 'index.php'); 
    header('Location: ' . BASE_URL); 
    $SESSION["username"] = $username; 
    } 
    else { 
    define('BASE_URL', 'login.php'); 
    header('Location: ' . BASE_URL); 
    } 
    } 
?> 

Спасибо

+1

Если вы запускаете Apache как услугу, очень маловероятно, что у него есть разрешение на запись на ваш рабочий стол. Вы должны переместить Xampp в другое место. –

+0

Вы проверили, что у Apache есть права на запись в каталог? – SteJ

+0

Есть ли способ, которым я могу это сделать? Благодаря! На стороне примечание, я не могу получить доступ к чему-либо, что требует прав администратора ... – arthrax

ответ

2

Это ошибка конфигурации.

Проверьте следующую строку в файл php.ini:

session.save_path = "/tmp" 

Или в вашем PHP скрипт:

session_save_path('/home/example.com/sessions'); 

Эта линия указывает на PHP, где будут сохранены файлы сеансов.

Системные пользователи, на которых работает сервер, должны иметь права на запись в этой папке.

Смежные вопросы