[phpa] Re: Error : get_cached_compiled_file had no path

  • From: "PHP Accelerator" <php_accelerator@xxxxxxxxxxx>
  • To: phpa@xxxxxxxxxxxxx
  • Date: Sat, 06 Oct 2001 12:19:17 +0100


>From: "Artur Nikitin" <xartsx@xxxxxxxxxxx>
>Hi,
>
>Same problems here.

Hi Artur. Sorry if I missed this from you, but I don't recall you mentioning 
get_cached_compiled_file() reporting that there was no path. As far as I 
know, this is the first incidence of this.

For what I understand to be your case, you are frequently generating new php 
files on the fly, and this may be bad news at the moment for the following 
reasons:

1) New cached files will be generated the first time each new version is 
accessed, and if you create a temporary file of each new version and rename 
as the original, you may find that you get a new cache file for each new 
version even if the file name hasn't changed. This is because cache files 
aren't related to source files by filename, and if you create a new file, 
even if gets the same file name, it will be seen as a different file. In 
cases where an original file is overwritten, such as editing and saving a 
file with most editors, then this won't be a problem as the file is the 
same.

2) These cached files will get reloaded into the shared memory cache and 
readers can't access the cache while it's being written to. Loading is 
quick, but see the next point.

3) Just as you may be getting new cache files for every new version of your 
generated files, if each new file is really a different file then you'll 
also get additional entries in the shared memory cache.  Eventually the 
shared memory cache will fill up and a cache replacement algorithm will kick 
in. Normally this will perform well, but in your particular case it's 
probably not going to.

However, there's a new release that I'm expecting to do over the next day or 
so that adds some minor performance enhancements, and that also adds a 
directory based accelerator enable/disable feature - on a per-request basis. 
This will achieved by putting 'php_value phpa off' inside Apache Directory 
or Location directives in any place that their use is legal.

This may help your situation, but I suspect that you need more specific 
control, and that's the next thing that I'll be doing If I get that added 
over the weekend too then it'll be in the next release as well.

Nick


_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp

------------------------------------------------------------------------
  www.php-accelerator.co.uk           Home of the free PHP Accelerator

To post, send email to phpa@xxxxxxxxxxxxx
To unsubscribe, email phpa-request@xxxxxxxxxxxxx with subject unsubscribe


Other related posts: