ローカルの開発環境にphpMyAdmin 4.0.4.1
をインストールし、auth_type
をconfig
に設定しました。また、この設定によって認証要件を提供します。
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['Host'] = 'localhost';
$cfg['Servers'][$i]['password'] = 'somepassword';
しかし、しばらくしてからアイドル状態になり、そのリンクをクリックすると、エラーtoken mismatch
が表示されます。TTLを増やす方法はありますか?それとも永久に生きますか?
上の写真はエラーを示しています。
以下の手順に従って、この厄介な問題を解決します。
/etc/php5/Apache2/php.ini
を開きます;session.save_path = "/tmp"
を見つけると、この行は次のようにもなります;session.save_path = "/var/lib/php5"
Sudo service Apache2 restart
を実行してApacheを再起動します参考までに、私は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によって引き起こされたと思います。
ブラウザーでCookieをオンにする必要がありましたが、うまくいきました。 (OSXでMAMPを使用)
ここや他の場所で推奨されたすべてのことを成功しなかった後、my/tmpがいっぱいであることがわかりました。
確認するには、コマンドラインから実行します:df
ファイルシステムのディスク領域の使用状況を報告します。
ブラウザのキャッシュをクリアすると、動作します。
私の場合、このディレクトリ(\ tmp)にスペースを作るためにいくつかのファイルを削除する必要がありましたが、今のところエラーはなくなりました。
この問題を停止するには、「tmp
」フォルダーを削除して「tmp
」という名前の新しいフォルダーを作成するか、コンテンツをクリアします。