[英]why session_start in php is throwing warning saying file large
我没有更改任何代码,当我访问其中一个网页时突然发现
警告:session_start()[function.session-start]:open(..)失败:文件太大.. index.php在第二行。
另一个错误是:
警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送
第1行: <?php
第2行: session_start ();
问题 :
导致File太大的错误原因是什么? 什么文件大?
为什么突然没有任何文件修改就出现错误?
如果在session_start
之前没有定义任何内容,甚至没有空格,为什么它会抛出“已发送标头”?
如何解决这个问题?
1.告诉File太大的错误原因是什么? 什么文件大?
session_save_path("../_session1001");
如下所述,您可以看到您的会话已写入该路径,因此可能是该文件在共享内存中变得太大,而现在我明确提到了将会话文件写入其中的物理空间。不再。 4.如何解决此问题?
session_save_path("../_session1001");
之前添加此行session_save_path("../_session1001");
.htaccess
文件保护目录。 即: <?php session_save_path("../_session1001"); session_start();
<?php session_save_path("../_session1001"); session_start();
在此处阅读更多信息: http : //php.net/session_save_path
注意:
Debian不为会话使用默认的垃圾收集器。 而是将session.gc_probability
设置为零,并运行cron作业以清除默认目录中的旧会话数据。
因此,如果您的站点使用session_save_path()
设置了自定义位置,则还需要为session.gc_probability
设置一个值,
例如:
<?php session_save_path('/home/example.com/sessions'); ini_set('session.gc_probability', 1); ?>
否则,'/ home / example.com / sessions'中的旧文件将永远不会被删除!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.