phpにて、session_start()のところで下記のようなエラーが表示される場合の対処方法。
Warning: session_start(): open(/var/lib/php/session/sess_xxxxxxx, O_RDWR) failed: Permission denied (13) in /var/www/html/xxxx/function.php on line 46
原因
phpのセッションを格納するディレクトリ「/var/lib/php/session」のパーミッションが「777」ではなく「755(rwxrwx---)」になっており、ディレクトリにセッションが書き込めない状態。
対処方法
現状のパーミッションを確認
[bash] [root@localhost html]# ls -l /var/lib/php/ 合計 0 drwxrwx--- 2 root apache 6 11月 6 09:32 session [/bash]
確かに「rwxrwx---」、つまり「755」の状態。
パーミッションを変更
[bash] [root@localhost html]# chmod 777 /var/lib/php/session [/bash]
これで「session_start()」でのエラーが解消。