Я ищу решение, и мой скрипт-фрилансер не может исправить хаха!
После 25 минут бездействия мой сценарий бронирования автоматически выходит из системы и выдает заголовок, который уже отправляет сообщение об ошибке в строке 722. Мне необходимо снова войти в систему, чтобы продолжить. Я не могу обновить страницу, но для входа необходимо вручную войти в index.php.
Я искал решения на форуме по переполнению стека и нашел ответ на изменение настроек в php.ini. Я сделал это, но до сих пор не работает (информация php теперь показывает правильное значение 31536000s на локальном и главном). Я также изменил время сеанса PHP в сценарии восстановления без каких-либо результатов.
Другая вещь, которую я попытался найти на форуме, - это файл .htaccess, но он также не работает.
Что еще можно попробовать?
php.ini
session.gc_maxlifetime = 31536000
session.cookie_lifetime = 31536000
Variables.php
if (session_id() === '') {
session_set_cookie_params(172800, APP_BASE_PATH, $_SERVER['SERVER_NAME'], false, true);
session_start();
}
if (!headers_sent()) {
$params = session_get_cookie_params();
setcookie(session_name(), session_id(), time() + 172800, $params['path'], $params['domain'], $params['secure'], $params['httponly']);
}
Строка 722 моего сценария
function verify_logged_in() {
if( ! isset( $_SESSION['logged_in'] ) || $_SESSION['logged_in'] !== true ) {
unset( $_SESSION['logged_in'] );
unset( $_SESSION['last_used'] );
unset( $_SESSION['user_id'] );
unset( $_SESSION['user_type'] );
unset( $_SESSION['user_name'] );
unset( $_SESSION['full_name'] );
unset( $_SESSION['email'] );
unset( $_SESSION['token'] );
session_write_close();
$_SESSION[ 'message' ] = 'U dient opnieuw in te loggen.';
header( 'Location: index.php' );
exit();
}
else {
$_SESSION['last_used'] = date( DATE_TIME_FORMAT );
}
<?php
require_once 'functions.php';
$lang = "en";
if (isset($_SESSION['language'])) {
$lang = $_SESSION['language'];
}
require_once "lang.".$lang.".php";
verify_logged_in();
verify_user_level(['Editor', 'Moderator']);