Details
-
Bug
-
Resolution: Fixed
-
Medium
-
4.0.0
-
None
-
Operating System: gentoo linux 2007.1
PHP Version: 5.2.5
Database and version: Oracle 10g XE
Browser (and version):
Description
In some cases it could happen that (cache-)files are stored in a directory where one does not expect them to be stored. This happens if symbolic links are used in an installation.
Example:
There are several releases of an installation in an svn repository. Let's say
/svn/project/releases/0.1.2
/svn/project/releases/0.1.3
Within another directory, e.g.
/var/www
there is a symbolic link to one of this versions, e.g.
/var/www/used_version --> /svn/project/releases/0.1.3
Furthermore there is a webserver document root in
/var/www/htdocs
in which the ez publish installation can be found. The eZ Publish files are not placed directly, but also as symbolic links, e.g.
/var/www/htdocs/kernel --> /var/www/used_version/kernel
/var/www/htdocs/lib --> /var/www/used_version/lib
This setup allows easy switching between different versions of an installation.
Nevertheless it could happen that files one would expect to be stored in
/var/www/htdocs/var/cache/
are stored in
/svn/project/releases/0.1.3/var/cache
instead. This happened especially with the file expiry.php with the effect that caches are always expired (because the file is read from /var/www/htdocs/var/cache/expiry.php but written to /svn/project/releases/0.1.3/var/cache/expiry.php).
Steps to reproduce
Setup an eZ Publish version by making use of symbolic links as described above. Enable e.g. SQLOutput and see that similar statements as the following occur, even on a page reload:
SELECT id, role_id, module_name, function_name
FROM ezpolicy
WHERE role_id='1'
ORDER BY id ASC