Bug #67481 [Com]: Opcache uses wrong file from cache

From: Date: Sat, 06 Jun 2015 06:04:00 +0000
Subject: Bug #67481 [Com]: Opcache uses wrong file from cache
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-193166@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=67481&edit=1

 ID:                 67481
 Comment by:         kelemen dot samuel at gmail dot com
 Reported by:        Danack at basereality dot com
 Summary:            Opcache uses wrong file from cache
 Status:             Closed
 Type:               Bug
 Package:            opcache
 Operating System:   Centos
 PHP Version:        5.5.13
 Block user comment: N
 Private report:     N

 New Comment:

op cache is really unusable with identical applications (same or similar directory structure) on
same hosting. 

We need more specify cache for one file, eg. absolute filepath? Or if this is how opcache was
designed then disable this feature by default.


Previous Comments:
------------------------------------------------------------------------
[2015-03-05 12:16:30] tomek at lutel dot pl

@Danack at basereality dot com

Why do you say its different issue? Chrooting is impossible with webcache due to faulty opcache file
handling. Could you reopen this bug please, and not call it a feature please? :)

------------------------------------------------------------------------
[2015-01-05 14:39:11] Danack at basereality dot com

@public+php dot net at bastelstu dot be +  @spam at rw23 dot de

Those are different cases from the issue that I originally reported. Please open a separate feature
request.

------------------------------------------------------------------------
[2015-01-05 07:40:31] spam at rw23 dot de

yes, chroots are really THE problem and it renders the opcache completely unusable in multi-domain
hosting enviroments. 
More importantly, this can cause security, privacy and !data-integrity! issues if users do not
recognize quickly that it is broken.
I actually had the issue that webshops hosted at my server were displaying products from completely
different domains, because the config files had the same path and the same config is executed for
all domains. I had a hard time explaining that to my customers.

Finally i did fall back to xcache, it works with chroot so i think it should also work with the
official opcache too. This is a serious issue, please reopen this bug.

------------------------------------------------------------------------
[2015-01-02 02:43:28] public+php dot net at bastelstu dot be

It also happens when using a chroot and several identical applications in different pools. As the
applications are identical the paths obviously are as well. This really should be fixed, e.g. by
prefixing the cache name with the pool name.

------------------------------------------------------------------------
[2015-01-01 22:11:09] Danack at basereality dot com

It turns out this is not a bug, it is the behaviour that is expected when opcache.use_cwd is set to
zero.

With it set to zero OPCache does not include the current path in the name used for the cached
script, and so OPcache cannot tell two scripts with the same name in different directories apart.

The setting opcache.use_cwd should always be enabled unless PHP is going to be running a single
application with known unique file names.

------------------------------------------------------------------------


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=67481


--
Edit this bug report at https://bugs.php.net/bug.php?id=67481&edit=1


Thread (19 messages)

« previous php.bugs (#193166) next »