[英]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.