несоответствие токенов phpmyadmin для длительного простоя

я установил phpMyAdmin 4.0.4.1 на моей локальной среде разработки я установил auth_type to config. Также я предоставляю требования аутентификации по этим настройкам:

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['password'] = 'somepassword';

но через некоторое время, что он простаивает , если я нажимаю на любую ссылку, он показывает мне ошибку token mismatch, есть ли способ увеличить его TTL? или сделать его живым навсегда?

enter image description here

выше изображение показывает ошибку.

8 ответов


Я решаю эту раздражающую проблему, следуя инструкциям ниже:

  1. открыть /etc/php5/apache2/php.ini
  2. найти ;session.save_path = "/tmp" эта строка может выглядеть также как этот ;session.save_path = "/var/lib/php5"
  3. удалить точку с запятой из этой строки
  4. перезапустите apache, выполнив sudo service apache2 restart

FYI: я работаю под Ubuntu 12.04 с apache2, php5, phpMyAdmin 4.0.5, поэтому для разных систем и серверов путь к файлу может быть немного другим.

в случае проблемы проверьте, если каталог с шага 2. запись на сервере.

удачи.


в файле libraries/common.inc.php

линия 1076
удалить эту часть

 /*
 * There is no point in even attempting to process
 * an ajax request if there is a token mismatch
 */
 if (isset($response) && $response->isAjax() && $token_mismatch) {
    $response->isSuccess(false);
    $response->addJSON(
        'message',
        PMA_Message::error(__('Error: Token mismatch'))
    );
    exit;
}

для меня это, казалось, было вызвано тем, что мой корневой раздел был заполнен, и я думаю, что эта ошибка была вызвана тем, что php не смог написать в каталог сеанса.


Мне пришлось включить куки в браузере, и это сработало для меня. (Использование MAMP на OSX)


после выполнения всего, что было рекомендовано здесь и в других местах без успеха, я узнал, что мой / tmp был заполнен.

чтобы проверить это, просто запустить из командной строки: df

он сообщает об использовании дискового пространства файловой системы.


в моем случае мне пришлось удалить некоторые файлы, чтобы освободить место в этом каталоге (\tmp), и ошибка исчезла.


Очистка кэша браузера, то он будет работать.


чтобы остановить эту проблему, удалите "tmp" папка и сделать новый под названием"tmp" или просто очистить содержимое.