2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

adminer 「セッションの期限切れ。ログインし直してください」エラー対処パターンまとめ

Last updated at Posted at 2022-01-30

#はじめに
adminerで「セッションの期限切れ。ログインし直してください」のエラーをたびたび出くわしたため、対処パターンをまとめました。
パスワードやホスト名、ユーザー名は、正しい前提です。
パターンと言っていますが、基本的に、webサーバーのnginxやapacheのエラーログを確認することが基本になります。

#対処パターン1
シークレットモードにして、「永久的にログイン」をチェックすると、ログインできることがあります。
スクリーンショット 2022-01-30 11.24.55.png

#対処パターン2
セッション情報を保存するディレクトリの所有者が異なり、セッション情報を書き込めないパターンがあります。
webサーバーにnginxやapacheを使用している場合、エラーログを確認すると、以下のPermission deniedエラーログが出ている場合、その可能性が高いです。

Warning: Unknown: open(/var/lib/php/session/~~~~, O_RDWR) 
failed: Permission denied (13) in Unknown on line 0

セッション情報の保存先は以下のコマンドで確認できます

$ php -i | grep session.save_path
session.save_path => "/var/lib/php/session"

以下のようにno valueの場合/etc/php.iniファイルを確認するとよいです。

$ php -i | grep session.save_path
session.save_path => no value => no value


$ cat /etc/php.ini
php_value session.save_handler "files"
php_value session.save_path    "/var/lib/php/session"

sessionディレクトリの所有者を確認し、nginxサーバーの場合、nginxが所有者になっているか確認し、所有者や所有者グループを変更しましょう。
また、chmodコマンドを使用して、権限付与が必要な場合もありますね。

$ cd /var/lib/php
$ ls -la session
drwxrwx---  2 root apache    6  1月  30 12:21 session

所有権のグループがapacheになっているため、nginxに変えましょう。

$ chown -R root:nginx session

#対処パターン3
私が遭遇したレアケースだと思いますが、EC2のストレージの空き容量が0になったことが原因のときもあります。

エラーログを確認すると、空き容量がないよ、とありました。

$ cd /var/log/nginx/
cat error.log
error.log

FastCGI sent in stderr: "PHP message: PHP Warning:  session_regenerate_id(): 
write failed: No space left on device (28)

空き容量を確認すると0にでした。

$df -h
ファイルシス        サイズ  使用  残り    使用%   マウント位置
devtmpfs         3.8G     0  3.8G    0%   /dev
tmpfs            3.8G     0  3.8G    0%   /dev/shm
/dev/nvme0n1p1    30G   30G   20K  100%   /

28GB分のファイルを削除して、再度、adminerにログインすると、エラー内容が変わりました。

php_network_getaddresses: getaddrinfo failed: Name or service not known

スクリーンショット 2022-01-26 12.59.11.png

容量を再度確認すると、削除したファイルサイズ28GB分が反映されていないことが分かりました。

$df -h
ファイルシス        サイズ  使用  残り    使用%   マウント位置
devtmpfs         3.8G     0  3.8G    0%   /dev
tmpfs            3.8G     0  3.8G    0%   /dev/shm
/dev/nvme0n1p1    30G   27G  2.9G  97%   /

EC2を再起動すると、空き容量が95%を超え、adminerにログインすることができました。

#参考

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?