在共享主机上,当服务器/tmp
目录已满时,我们偶尔会遇到问题。我们的托管公司建议我们将会话保存路径更改为每个站点独有的。
ini_set('session.save_path', DOCUMENT_ROOT . '/_SESSIONS/');
.htacces
是的,这会将我们的会话放在 Web 根目录中。我们通过在该文件夹中包含一个文件来处理潜在的隐私问题:
deny from all
这有效。
我们现在已经转移到我们自己的托管服务器。此服务器上的默认会话保存路径是/var/lib/php/session
。有什么理由继续将其覆盖为/var/www/vhosts/example.net/httpdocs/_SESSIONS/
?
答案1
我认为您没有理由需要在专用服务器上更改其默认设置,除非它恰好被设置为具有较小分区的地方,并且您担心空间不足(最初就是这种情况)。我猜想新服务器上的两条路径是同一个分区,因此现在这是一个没有实际意义的问题。
我个人希望它位于 webroot 之外,无论 .htaccess 安全性如何。将它放在那里,然后试图保护它,这是没有意义的,因为它很容易位于网站之外。
在共享服务器上,我可能希望将会话放在自己的目录中。根据安全性的程度,将它们放在与其他每个站点相同的位置可能会让其他站点访问我的会话数据。