session_save_path 设置失败

Posted

技术标签:

【中文标题】session_save_path 设置失败【英文标题】:session_save_path setting failed 【发布时间】:2012-07-31 07:31:45 【问题描述】:

我无法从 php 脚本中设置我的自定义 php 会话保存路径。

ini_set('session.save_path', "/var/www/domain.com/sessions");
echo ini_get('session.save_path')."<br />";

session_save_path("/var/www/domain.com/sessions");
echo session_save_path()."<br />";

上面的代码打印出来

/var/www/domain.com/tmp

/var/www/domain.com/tmp

这意味着默认设置保持不变。

我非常受限于任何解决方法: 1) 无法访问 php.ini 2) htaccess 导致错误 500 - php_value 指令被禁用

所以我真的需要从 php 脚本内部覆盖会话存储。

有什么办法解决这个问题吗?

(目录/var/www/domain.com/sessions 存在于owner/group = root/root 下,为他人正确设置了写权限。与默认tmp 目录完全相同。)

【问题讨论】:

为什么需要更改此设置? 用于子域特定的会话分离。 可以设置会话cookie的域吗?那会有帮助吗?顺便说一句:你试过session_save_path 您可以尝试将session.cookie_domain ini 设置更改为subdomain.example.com。如果这样做,会话 cookie 仅在此子域上有效。 好吧,这对我没有多大帮助,因为我需要设置每个子域会话到期(= 独立垃圾收集)。 AFAIK 将会话文件分离到不同的文件夹是唯一的解决方案。 【参考方案1】:

Apache 当前将 PHP 作为 PHP_MOD 运行。

AFAIK 在 PHP 采用 CGI 或 FASTCGI 之前没有解决方案。

【讨论】:

以上是关于session_save_path 设置失败的主要内容,如果未能解决你的问题,请参考以下文章

发送电子邮件时,Amazon SES(沙盒外和域验证)失败

AWS-SES:如何设置发件人地址的显示名称

如何为 tomcat beanstalk 设置正确的 SES 身份策略?

Amazon SES SPF和DKIM设置教程

如何使用 node.js 动态设置 aws ses TemplateData?

关于AMAZON SES设置的一些要点