session_start(): open(SESSION_FILE, O_RDWR) failed: Permission denied (13)
今天偶然间在我自己就的服务器上登陆phpmyadmin
,点进去就报这个错,然后根据它的提示,我发现我的session
目录在/var/lib/php/session
下面存在,也就是说我有这个目录,但是它没有写入权限,不是目录不存在的锅
第一步:我们检测一下我们的这个端口,我配置的是8002
,检测它是以什么用户运行的
lsof -i:8002
,输出如下:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 27748 root 11u IPv4 65702991 0t0 TCP *:teradataordbms (LISTEN)
nginx 27749 nginx 11u IPv4 65702991 0t0 TCP *:teradataordbms (LISTEN)
也就是我们这个程序是以nginx
用户运行的,接下来我们就要看看我们的session
目录它的用户组和用户了。cd /var/lib/php
然后ll
看了以后发现,我的这个目录它的用户组是root
,而它的用户是apache
。看到这儿我就知道问题所在了。
第二步:修改session
目录的权限,chown -R nginx:nginx session
。欧克,然后再去ll
看一下。是不是已经修改过来了。修改过来了再去刷新页面试一下。
第三步:刷新页面。我们已经可以看到页面已经出来了。完毕
学习是我们知道自己的渺小,加油