Re: [GENERAL-BG] Re: problem s unlink

[email protected] (Ognyan Bankov) Fri, 06 May 2005 11:41:19 +0300
Newsgroups php.general.bg
Message-ID <[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-нат дял?