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

From: Date: Fri, 06 May 2005 08:41:19 +0000
Subject: Re: [GENERAL-BG] Re: problem s unlink
References: 1 2 3 4 5  Groups: php.general.bg 
Request: Send a blank email to general-bg+get-253@lists.php.net to get a copy of this message
Anastas Tarpanov wrote:
В отговор на Kouber Saparev <kouber@php.net>:
Нали си сложил 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-нат дял?

« previous php.general.bg (#253) next »