Re: [GENERAL-BG] Re: problem s unlink
[email protected] (Anastas Tarpanov) Fri, 6 May 2005 14:07:18 +0300
| Newsgroups | php.general.bg |
|---|---|
| Message-ID | <[email protected]> |
В отговор на Ognyan Bankov <[email protected]>: > Anastas Tarpanov wrote: > > В отговор на Kouber Saparev <[email protected]>: > > > > > >>>>Нали си сложил error_reporting на E_ALL и display_errors на On? > >>> > >>>Абсолютно е така. Точно това е пародокса. Не връща никаква грешка. Ако го > >> > >>сложа > >> > >>>unlink в един if влиза вътре нали си връща true ама дефакто файла не се > >> > >>изтрива. > >> > >>>Не знам unlink кога се изпълнява. Когато интерпретора мине през него или > >> > >>накрая > >> > >>>на скрипта, ако завърши нормално. Тука може би Андрей трябва да даде едно > >>>експертно мнение. > >> > >>Функцията се извиква по време на изпълнение. > >> > >>Прегледах CVS-а за и по-точно file.c, но не виждам някакви промени по > >>unlink функцията, освен една от преди 2 години. Пробвай да минеш на > >>4.3.11. Опитай също да му подадеш директно низа в единични кавички, т.е. > >>да изолираш колкото се може повече случая. Нещо такова: > >> > >><? > >>var_dump(ini_get('display_errors')); > >>var_dump(ini_get('error_reporting')); > >> > >>$filename = '/path/to/file'; > >> > >>if (file_exists($filename)) { > >> var_dump(stat($filename)); > >> var_dump(unlink($filename)); > >> clearstatcache(); > >> var_dump(stat($filename)); > >> var_dump(file_exists($filename)); > >>} > >>else { > >> echo 'File not found.'; > >>} > >>?> > > > > > > който иска да дебъгва > > > > string(1) "1" > > string(4) "2047" > > array(26) { > > [0]=> > > int(64768) > > [1]=> > > int(4276) > > [2]=> > > int(33279) > > [3]=> > > int(1) > > [4]=> > > int(33) > > [5]=> > > int(33) > > [6]=> > > int(-1) > > [7]=> > > int(2361) > > [8]=> > > int(1115305110) > > [9]=> > > int(1115284902) > > [10]=> > > int(1115284902) > > [11]=> > > int(-1) > > [12]=> > > int(-1) > > ["dev"]=> > > int(64768) > > ["ino"]=> > > int(4276) > > ["mode"]=> > > int(33279) > > ["nlink"]=> > > int(1) > > ["uid"]=> > > int(33) > > ["gid"]=> > > int(33) > > ["rdev"]=> > > int(-1) > > ["size"]=> > > int(2361) > > ["atime"]=> > > int(1115305110) > > ["mtime"]=> > > int(1115284902) > > ["ctime"]=> > > int(1115284902) > > ["blksize"]=> > > int(-1) > > ["blocks"]=> > > int(-1) > > } > > bool(true) > > <br /> > > <b>Warning</b>: stat(): Stat failed for > /var/www/mobile/data/langs.conf.php > > (errno=2 - No such file or directory) in > > <b>/var/www/mobile/admin/editlanguage.php</b> on line <b>65</b><br /> > > bool(false) > > bool(false) > > > > Всичко е ок но файла продължава да си е там просто датата на модификация е > текущата. > > Вече взеха да ме ме гонят някви паранои че се изтрива и след това се > създава сам > > все едно възкръсва. > > > > Ако знам вече какво става по едно време триеше само ако принтнех името на > файла > > който ще се трие защото иначе файла няма никакъв печат прави нещо и се > > редиректва след това. > > Много странно стана това. > > мда, прекалено странно е > не е лоша идея да пробваш същото с файл в /tmp за да изолираш всякакви > допълнителни шитове от пътя... > btw, случайно /var/www да е отделен mount-нат дял? Мисля че беше на отделен дял що? В момента не съм 100% сигурен защотото не съм на работа но 90% е на отделен дял. Машината е с 2 хард диска софтуерен раид огледален. Ако може да помогне това по някакъв начин.