LoginSignup
0
1

More than 1 year has passed since last update.

PHPでSESSIONが保存できなくなった話

Posted at

経緯

phpで作ったログインフォームが、昨日突然ログインできなくなった。
原因が分からず色々試しているうちにサーバをrebootしたら復旧した。
解決かと思ったら、今朝またログインできなくなっていた。

調べる

login.php
<?php
session_start();
if($_POST["id"] == "admin" && $_POST["password"] == "ABC123"){
    $_SESSION['login'] = true;
    $_SESSION['id'] = $_POST["id"];
    header('Location: index.php');
    exit;
}
echo '<form action="login.php" method="POST">';
echo 'id:<input type="text" name="id">';
echo 'password:<input type="password" name="password">';
echo '<input type="submit" value="ログイン">';
echo '</form>';
index.php
<?php
$session_return = session_start();
if(!$session_return){
    echo "セッションエラー";
}
if(!$_SESSION['login']){
    var_dump($_SESSION);
//  header('Location: login.php');
    exit;
}
echo "ログイン成功";
array(0) {}

どうやら$_SESSIONに書き込みができなくなっているようだ。
しばらくしてlogin.phpがエラーを吐いている事に気がついた。

Warning: Unknown: write failed: No space left on device (28) 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 (/var/lib/php/session) in Unknown on line 0

「No space left on device」って・・・あ。

# df
Filesystem     1K-blocks     Used Available Use% Mounted on
tmpfs             249360        0    249360   0% /dev/shm
/dev/vda4       15948532 15250520         0 100% /
/dev/vda2         487652   130694    327262  29% /boot
tmpfs              49872        0     49872   0% /run/user/0

・・・ディスク埋まってる。

# du -k / | sort -rn | head -10
15374837    /
13146344    /var
12804060    /var/log
12739304    /var/log/httpd
2042276 /usr
828688  /usr/lib
491660  /usr/lib/firmware
447940  /usr/share
262768  /usr/bin
220276  /var/lib

そういえばapacheのログの設定してなかったな。

# ls -l /var/log/httpd/
total 12739300
-rw-r--r-- 1 root root     2170880 May  7 12:55 access_log
-rw-r--r-- 1 root root 13038845952 May  7 12:55 error_log

Oh!

解決

# rm /var/log/httpd/error_log
# vi /etc/httpd/conf/httpd.conf
ErrorLog "/dev/null"
LogLevel alert
# service httpd restart

これでよし。

ログイン成功

めでたしめでたし😇

0
1
1

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
0
1