Not really sure if this goes in this forum, or the Apache server forum, but we have a linux mail server, and an online webmail login. Sometimes, when users try to login, they will receive an error reading something like this: Warning: fread() [function.fread]: Length parameter must be greater than 0 in /home/admispconfig/ispconfig/web/webmail/inc/lib.php on line 106 Warning: Cannot modify header information - headers already sent by (output started at /home/admispconfig/ispconfig/web/webmail/inc/lib.php:106) in /home/admispconfig/ispconfig/web/webmail/inc/inc.php on line 103 If I restart the mail server, the issue goes away. It will then resurface within a week or two. Any ideas, suggestion, or direction?
Hi Falko, These are lines 70 to 140. Thanks. PHP: root@mail:/home/admispconfig/ispconfig/web/webmail/inc# sed -n '70,140p' lib.phpfunction array_qsort2 (&$array, $column=0, $order="ASC", $first=0, $last= -2) { if($last == -2) $last = count($array) - 1; if($last > $first) { $alpha = $first; $omega = $last; $guess = $array[$alpha][$column]; while($omega >= $alpha) { if($order == "ASC") { while(strtolower($array[$alpha][$column]) < strtolower($guess)) $alpha++; while(strtolower($array[$omega][$column]) > strtolower($guess)) $omega--; } else { while(strtolower($array[$alpha][$column]) > strtolower($guess)) $alpha++; while(strtolower($array[$omega][$column]) < strtolower($guess)) $omega--; } if(strtolower($alpha) > strtolower($omega)) break; $temporary = $array[$alpha]; $array[$alpha++] = $array[$omega]; $array[$omega--] = $temporary; } array_qsort2 ($array, $column, $order, $first, $omega); array_qsort2 ($array, $column, $order, $alpha, $last); }}class Session { var $temp_folder; var $sid; function Load() { $sessionfile = $this->temp_folder."_sessions/".$this->sid.".usf"; $result = Array(); if(file_exists($sessionfile)) { clearstatcache(); $fp = fopen($sessionfile,"rb"); $result = fread($fp,filesize($sessionfile)); fclose($fp); $result = unserialize(base64_decode($result)); } return $result; } function Save(&$array2save) { $content = base64_encode(serialize($array2save)); if(!is_writable($this->temp_folder)) die("<h3>The folder \"".$this->temp_folder."\" is not writtable or does not exist!!!</h3>"); $sessiondir = $this->temp_folder."_sessions/"; if(!file_exists($sessiondir)) mkdir($sessiondir,0777); $f = fopen("$sessiondir".$this->sid.".usf","wb") or die("<h3>Could not open session file</h3>"); fwrite($f,$content); fclose($f); return 1; } function Kill() { $sessionfile = $this->temp_folder."_sessions/".$this->sid.".usf"; return @unlink($sessionfile); }}// load settingsfunction load_prefs() { global $userfolder, $sess, $default_preferences; extract($default_preferences); $pref_file = $userfolder."_infos/prefs.upf";
Code: function Load() { $sessionfile = $this->temp_folder."_sessions/".$this->sid.".usf"; $result = Array(); if(file_exists($sessionfile)) { clearstatcache(); $fp = fopen($sessionfile,"rb"); $result = fread($fp,[B][COLOR="Red"]filesize($sessionfile)[/COLOR][/B]); fclose($fp); $result = unserialize(base64_decode($result)); } return $result; } Looks as if the session file exists, but is empty. I think you should delete all session files in the temp folder.
Sorry for my ignorance, but sessions files are listed as what? I'm in home/admispconfig/ispconfig/temp/ And then open the 'webmail' directory. There I find a list of all (or most) of the email users. (ie emailaddress_localhost) Are those what I should delete? ps there is a lot of ispconfig.log.*.tar.gz files in the ispconfig directory. Are they fine?
session is there but empty... may i suggest to look that your cookies may show that you actually have 2 simultaneous sessions. look at the "PATH" for the sessions. happened to me. reads one, writes another. pretty easy fix.
Sooo, the problem came back. So either a) the above fix didn't work or b) it is only a temporary fix. Temporary fix isn't really what I'm looking for b/c simply restarting the mail server does that. Any other thoughts?
Same problem on VM ... Hi, Long time no talk in this forum ... I have the Exact same problem with the same error. In my case ispconfig is installed in a Virtual Machine and, that's the problem. I get that error when the Small disk is full and the host does not allow me to expand on the disk. I made a df -h and the output was strange like this : Code: df -h Filesystem Size Used Avail Use% Mounted on /dev/simfs 14G 1.6G 0 100% / none 512M 4.0K 512M 1% /dev Strange thing I think this is indeed a error related with disk full 1.4Gb used in 14GB available and the usage is 100% ?!?!?. I could log onto webmiau but I not see any email on any account ..all blank! Also ispconfig admin panel was all empty ... no resellers at all there! After complaining with the provider I got the following: Code: df -h Filesystem Size Used Avail Use% Mounted on /dev/simfs 14G 1.6G 86M 95% / none 512M 4.0K 512M 1% /dev And now I get to see the email and the admin panel but I still have problems in the application. Another simple test on the VM that I had no disk space ... likely due to Overselling the VM's ... was a MySql cli interface command returned the error ... no disk space! Just using ispconfig db and making Code: desc sys_user: ERROR 1030 (HY000): Got error 28 from storage engine So I am convinced it is a disk space problem on my Virtual Machine server. It as nothing to do with Ispconfig. Regards.