php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #46173 session used in a frameset produces wrong files in reply
Submitted: 2008-09-25 15:08 UTC Modified: 2010-12-20 12:38 UTC
From: pmioni at hce dot it Assigned:
Status: Not a bug Package: Session related
PHP Version: 5.2.6 OS: SOLARIS 10
Private report: No CVE-ID: None
 [2008-09-25 15:08 UTC] pmioni at hce dot it
Description:
------------
This bug is (apparently) specific to Solaris.
It cannot be replicated on our test CentOS machine.
This is not the usual variation of "somebody not understanding how sessions work in a frameset"

We have an e-learning application, called Dokeos (www.dokeos.com), which has a tool using framesets containing a set of frames, each pointing to a separate php file.
All php files share the same session (which is rather large in terms of saved content) across the frames.
The application behaves unpredictably: some frames load correctly, some load the content of other frames, some remain white.
On refresh of the main frameset page, every frame misbehaves in a different way, so contents move around.
Even refreshing individual frames keeps failing miserably. 
Basically, let's say that the frameset frameset.php calls files 1.php through file 6.php.
The frame containing 2.php, upon first opening of the frameset and upon refresh, can contain the output of anything from 1.php to 6.php to the frameset.php itself, and even other pages which were browsed earlier on the same server.

The problem is cross-browser, is not caused by Javascript (it happens when JS is blocked at browser level), and cannot be caused by wrong header() calls in the PHP code, since at least some of the files do not have any header() call anywhere, and still the system returns another file in their place.

The same application (the same files, the same database, the same content) works just fine on our CentOS server, with the same version of PHP but Apache 1.3.41.

Any help? Any suggestions?




Here's the top of our phpinfo():

PHP Version 5.2.6

System 	SunOS rpol-c 5.10 Generic_127127-11 sun4v
Build Date 	Jun 5 2008 19:14:30
Configure Command 	'./configure' '--prefix=/opt/coolstack/php5' '--disable-debug' '--disable-dmalloc' '--disable-inline-optimization' '--disable-libgcc' '--disable-libtool-lock' '--disable-static' '--enable-calendar' '--enable-ctype' '--enable-cli' '--enable-cgi' '--enable-fastcgi' '--enable-dba=shared' '--enable-dbase' '--enable-dom' '--enable-exif' '--enable-force-cgi-redirect' '--enable-ftp' '--enable-gd-jis-conv' '--enable-gd-native-ttf' '--enable-ipv6' '--enable-libxml' '--enable-magic-quotes' '--enable-mbregex' '--enable-mbstring' '--enable-pcntl' '--enable-pdo' '--enable-posix' '--enable-reflection' '--enable-safe-mode' '--enable-session' '--enable-shared' '--enable-shmop' '--enable-short-tags' '--enable-soap' '--enable-spl' '--enable-sqlite-utf8' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--enable-ucd-snmp-hack' '--enable-wddx' '--enable-xmlreader' '--enable-zend-multibyte' '--with-bz2=shared,/usr' '--with-cdb' '--with-curl=shared,/opt/coolstack' '--with-curlwrappers' '--enable-flatfile' '--with-freetype-dir=/opt/coolstack' '--with-gd=shared,/opt/coolstack' '--with-gdbm=/opt/coolstack' '--with-gettext=shared,/opt/coolstack' '--with-gmp=shared,/opt/coolstack' '--with-iconv=shared,/opt/coolstack' '--with-imap-ssl=shared,/opt/coolstack/imap' '--with-imap=shared,/opt/coolstack/imap' '--enable-inifile' '--with-jpeg-dir=/usr' '--with-layout=PHP' '--with-ldap=shared,/opt/coolstack' '--with-ldap-sasl=yes' '--with-libexpat-dir=/opt/coolstack/apache2' '--with-libmbfl' '--with-libxml-dir=/opt/coolstack' '--enable-mod-charset' '--with-mssql=shared,/opt/coolstack' '--with-mysql-sock' '--with-mysql=shared,/opt/coolstack/mysql_32bit' '--with-mysqli=shared,/opt/coolstack/mysql_32bit/bin/mysql_config' '--with-ncurses=shared,/opt/coolstack' '--with-ndbm=/usr' '--with-openssl=shared,/opt/coolstack' '--with-pcre-dir=/opt/coolstack' '--with-pdo-dblib=shared,/opt/coolstack' '--with-pdo-mysql=shared,/opt/coolstack/mysql_32bit' '--with-pdo-odbc=shared,unixODBC,/opt/coolstack' '--with-pdo-pgsql=shared,/usr' '--with-pear' '--with-pgsql=shared,/usr' '--with-pic' '--with-png-dir=/usr' '--with-readline=shared,/opt/coolstack' '--with-pspell=shared,/usr' '--with-snmp=shared,/opt/coolstack' '--with-tidy=shared,/opt/coolstack' '--with-tsrm-pthreads' '--with-unixODBC=shared,/opt/coolstack' '--with-xmlrpc' '--with-xpm-dir=/usr/openwin' '--with-xsl=shared,/opt/coolstack' '--with-zend-vm=CALL' '--with-zlib=shared,/usr' '--without-dbm' '--without-ndbm' '--without-t1lib' '--x-includes=/usr/openwin/include' '--x-libraries=/usr/openwin/lib' '--with-apxs2=/opt/coolstack/apache2/bin/apxs'
Server API 	Apache 2.0 Handler
Virtual Directory Support 	disabled
Configuration File (php.ini) Path 	/opt/coolstack/php5/lib
Loaded Configuration File 	/opt/coolstack/php5/lib/php.ini 

Reproduce code:
---------------
This would require login to a machine, and navigation in a site.
Please contact me to reproduce the error.




Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-09-25 15:20 UTC] pmioni at hce dot it
Please note that I'm just installing the application, as it has been created by a separate firm.

My original text might have given the impression that we wrote it.
 [2008-09-25 21:28 UTC] jani@php.net
The application is propably not handling sessions correctly. f.e. not 
using session_write_close() at the right time, etc. Not a PHP bug.
 [2008-10-01 08:46 UTC] pmioni at hce dot it
This problem was caused by APC caching interferring with scripts. So it is not really a bug, it's an integration issue.
 [2010-12-20 12:38 UTC] jani@php.net
-Package: Tidy +Package: Session related
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon Jun 10 13:01:32 2024 UTC