ThinkPHP: session_save_path与systemd冲突错误!
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,这样自定义目录和实际创建的目录就一致了,可以解决此类问题。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。