您的位置:首页 > 编程语言 > PHP开发

ThinkPHP: session_save_path与systemd冲突错误!

2015-03-26 11:01 148 查看
thinkphp v3.2.3
在文件./thinkphp_3.2.3_full/ThinkPHP/Common/functions.php中,原来的代码:


if(isset($name['path']))            session_save_path($name['path']);


应当修改一下:
if(isset($name['path'])) {

if(!file_exists($name['path'])) {

mkdir($name['path'], 0777, true);

}

session_save_path($name['path']);

}

系统使用了systemd,在访问时出现会话文件找不到的错误!!!

修改的目的是让php-fpm自动创建目录,其创建的目录与要创建的目的目录并不一致,如自定义会话存储目录:
session_save_path('/tmp/session');

系统实际创建的目录:
/tmp/systemd-private-01c98cd0e1f343d0a2baa1783179df8b-php-fpm.service-zMJDw0/tmp/session

或者修改systemd配置,将PrivateTmp=true改为PrivateTmp=false,这样自定义目录和实际创建的目录就一致了,可以解决此类问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: