Всем привет.
Прошу помощи сообщества. С завидной регулярностью вики перестаёт отвечать. Виснет в одной и той же функции io_saveFile, ниже кусок кода со вставленным логированием:
function io_saveFile($file,$content,$append=false){
global $conf;
global $LoggerFilename;
file_put_contents($LoggerFilename,date('Y.m.d H:i:s ', time())." io io_saveFile start $file \n",FILE_APPEND) ;
$mode = ($append) ? 'ab' : 'wb';
$fileexists = @file_exists($file);
io_makeFileDir($file);
io_lock($file);
file_put_contents($LoggerFilename,date('Y.m.d H:i:s ', time())." io io_saveFile after io_lock \n",FILE_APPEND) ;
if(substr($file,-3) == '.gz'){
file_put_contents($LoggerFilename,date('Y.m.d H:i:s ', time())." io io_saveFile gz block file=$file mode=$mode \n",FILE_APPEND) ;
$fh = @gzopen($file,$mode.'9');
file_put_contents($LoggerFilename,date('Y.m.d H:i:s ', time())." io io_saveFile gz block after gzopen \n",FILE_APPEND) ;
в логах зависание заканчивается вот так:
2012.08.09 18:58:46 io io_saveFile start C:/Sites/sitrowiki/data/attic/pagename.1344524326.txt.gz
2012.08.09 18:58:46 io io_saveFile after io_lock
2012.08.09 18:58:46 io io_saveFile gz block file=C:/Sites/sitrowiki/data/attic/pagename.1344524326.txt.gz mode=wb
т.е. перестаёт отвечать в "$fh = @gzopen($file,$mode.'9');"
Зависает не всегда. Может раз в день , может сутками стабильно работать, может в течении получаса несколько раз. В access-логах апача обращения перестают идти, ошибок нигде нет. Лечится рестартом апача.
Release 2012-01-25 "Angua". Win2k3. Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.2.
Кроме вики на машине ничего не работает. Подозрительной активности на машине нет в момент зависания. В день 2000-2500 запросов к вики на открытие страниц. Достаточно много плагинов.