PHP にて session_start(): open(SESSION_FILE, O_RDWR) failed: Permission denied の対応

下記のようなエラーが出た。

session_start(): open(SESSION_FILE, O_RDWR) failed: Permission denied (13)
session_start(): Failed to read session data: files (path: /var/lib/php/session)

/var/lib/php/session 以下が読み込めないと書いてあるので所有権を確認する。

$ ls -l /var/lib/php
drwxrwx--- 2 root apache     6 Jul 31  2019 opcache
drwxrwx--- 2 root apache 16384 Jul 31  2019 session
drwxrwx--- 2 root apache     6 Jul 31  2019 wsdlcache

今回 nginx を使っていたので apache から nginx に所有権を変更する。

$ sudo chown -R root:nginx session

確認する。

$ ls -l /var/lib/php
drwxrwx--- 2 root apache     6 Jul 31  2019 opcache
drwxrwx--- 2 root nginx  16384 Jul 31  2019 session
drwxrwx--- 2 root apache     6 Jul 31  2019 wsdlcache