Re: lstat call on each directory level
| From: | Derick Rethans | Date: | Tue, 15 Jul 2008 19:19:08 +0000 |
| Subject: | Re: lstat call on each directory level | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-38984@lists.php.net to get a copy of this message | ||
On Tue, 15 Jul 2008, Amir Hardon wrote:
> On Tue, 2008-07-15 at 11:40 -0700, Rasmus Lerdorf wrote:
>
> > That's a realpath() call and it should be getting cached by the
> > realpath cache, so if you are seeing these on every request, try
> > increasing your realpath_cache size in your .ini. Without checking
> > the realpath, you would be able to circumvent open_basedir checking
> > really easily with a symlink.
>
> I've already increased the realpath_cache to the point it didn't give
> any more benefit(And it did give benefit), but there are still many
> lstat calls, and still placing our portal dir in the root directory
> gave a huge performance benefit(After fine-tuning realpath_cache). We
> don't use open_basedir.
>
> I think it might be wise to make this dir check configurable, as the
> performance impact is major. Anyway - can you please direct me to the
> place where this check is made in php's source, so I'll be able to
> disable it manually?
I've a patch for php 4.3 and 4.4 online - based on a patch by rasmus:
http://files.derickrethans.nl/patches/php-4.3-skip-path-checks.patch
http://files.derickrethans.nl/patches/php-4.4-skip-path-checks.patch
regards,
Derick
--
Derick Rethans
http://derickrethans.nl | http://ezcomponents.org | http://xdebug.org