Req #28790 [Opn]: Add php.ini option to disable stat cache

From: Date: Thu, 09 Mar 2017 11:23:57 +0000
Subject: Req #28790 [Opn]: Add php.ini option to disable stat cache
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-207757@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=28790&edit=1 ID: 28790 Updated by: nikic@php.net Reported by: jnoll at prim dot hu Summary: Add php.ini option to disable stat cache Status: Open Type: Feature/Change Request Package: *General Issues Operating System: * PHP Version: * Block user comment: N Private report: N New Comment: The stat cache is cleared between requests. What you have in mind is the realpath cache. Previous Comments: ------------------------------------------------------------------------ [2017-03-08 21:53:08] spam2 at rhsoft dot net > You guys realize that the stat cache is per-request nonsense - it's per prcoess and "You only need to clear the stat cache before a file_exists() call" is bullshit, you should be able to clear it *after* change a file but you just paly lotterly for which request in the future clearstatcache() has any effect or was just a joke https://bugs.php.net/bug.php?id=73888 is a deisgn error wihich makes a) the cache mostly usesless and b) clearstatcache() to a lottery game ------------------------------------------------------------------------ [2014-02-13 14:54:34] roman at litgroup dot ru We really need this option to disable cache in daemons, written in PHP. WebSocket server for example. Or some worker, which listens the queue and performs some jobs. ------------------------------------------------------------------------ [2012-01-17 20:38:00] landeholm at gmail dot com Okay, the stat cache was not to blame for this problem I commented on above as I just learned it doesn't cache negative results but I still need a way to disable it. I could get problems in the future when file_exists returns true for a file that does not exist anymore. ------------------------------------------------------------------------ [2012-01-17 20:23:08] landeholm at gmail dot com I'm writing a PHP CLI daemon and the stat cache just burned me hard because it made file_exists() incorrectly return false for a file that had been created by another program. There NEEDS to be a way to disable this. My only option now appears to be to write my own file system wrapper functions to bypass this annoying behavior. ------------------------------------------------------------------------ [2011-03-31 08:34:39] rasmus@php.net You guys realize that the stat cache is per-request, right? You only need to clear the stat cache before a file_exists() call if you A. did a stat for it, and B. either created or deleted it on that request. In which case you shouldn't need to stat it again since the success status of the create/delete will tell you whether the file is there or not. Perhaps for long-running daemons or something this becomes more of an issue, but for a typical web request the stat cache typically saves you dozens of system calls. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=28790 -- Edit this bug report at https://bugs.php.net/bug.php?id=28790&edit=1

« previous php.bugs (#207757) next »