Bug #67481 [Opn]: Opcache uses wrong file from cache
| From: | Danack at basereality dot com | Date: | Thu, 19 Jun 2014 17:43:18 +0000 |
| Subject: | Bug #67481 [Opn]: Opcache uses wrong file from cache | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-186263@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
User updated by: Danack at basereality dot com
Reported by: Danack at basereality dot com
-Summary: Opcache
+Summary: Opcache uses wrong file from cache
Status: Open
Type: Bug
Package: opcache
Operating System: Centos
PHP Version: 5.5.13
Block user comment: N
Private report: N
New Comment:
Made summary not be one word.
Previous Comments:
------------------------------------------------------------------------
[2014-06-19 16:02:37] Danack at basereality dot com
Description:
------------
When the config 'opcache.validate_timestamps' is set to 0 opcache incorrectly resolves
relative filenames.
If you include a file with
require "../src/bootstrap.php"; from two
completely different directories then OPcache will serve the same file even though
realpath("../src/bootstrap.php"); resolves to completely different
directories.
This does not happen when opcache.validate_timestamps is set to a non-zero value.
It can also be worked around by using require __DIR__ .
'/../src/bootstrap.php';
Test script:
---------------
File /home/project1/web/index.php
=================================
<?php
require "../src/bootstrap.php";
?>
File /home/project2/web/index.php
=================================
<?php
require "../src/bootstrap.php";
?>
File /home/project2/src/bootstrap.php
=====================================
<?php
echo "I am project2's bootstrap file.";
If you go to a webpage served by project1 first, then go to a webpage served by project2, project2
will get be given project1's bootstrap file.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=67481&edit=1