2012-10-21 47 views
0

可能重复:
PHP Warning Permission denied (13) on session_start()PHP没有会话文件的权限

我有几个网站一个VPS。它是在home/website1/html等中设置的,而不是正常的var/www/html。

我最近升级了PHP,并收到以下错误。

警告:在session_start()[function.session启动]:打开(在/ var/lib中/ PHP /会话/ sess_3chmto8a8jsp4l4p97fp8jmn54,O_RDWR)失败:权限被拒绝(13)/home/entry/entry.php在线166

/var/lib/php/session当前为0770,我可以通过将其更改为0777来消除错误,但感觉应该有更好的方法。

/var/lib/php/session的所有者是root,group是apache。

PHP的用户(如phpinfo所示)为“just_me”。我向apache组添加了just_me,但没有改变。

有什么建议吗?谢谢

+0

您需要查看apache用户而不是PHP(尽管这取决于您的配置)。 – PeeHaa

+0

如有疑问,请咨询您亲自认识并信任的系统管理员。 – hakre

+0

@PeeHaa。任何建议开始寻找Apache用户?谢谢 – user1032531

回答

0

如果每个虚拟主机/站点都以不同的用户身份运行PHP,那么只需确保会话目录是世界可写的。在那里创建的任何会话文件都将由相应的用户拥有。因此,如果为用户bob运行的PHP将会话文件放在那里,它将只能被bob(chmod 600)读取和写入。

如果每个人的PHP会话都以Apache用户身份运行,那么将所有会话文件放在一个地方可能会变得不安全,因为另一个用户可能会打开并读取这些文件。

+0

刚刚检查。每个网站的每个人都使用同一个用户。 – user1032531

+0

是否拥有同一用户拥有的所有网站?那是什么用户?如果*所有网站都以同一用户身份运行,那么共享主机就不安全。在多用户环境中,PHP应该以用户拥有脚本的方式运行,这样任何由PHP读取/写入的文件都对其他用户都是安全的。 – drew010

+0

用户是“just_me”。既然它是一个VPS,不仅我可以访问它们吗? – user1032531