There's a PPC only bug in PHP ([...]/php-*/ext/session/mod_files.c / line 275?). The Problem isn't permissions or/and the php.ini. PHP is failing to read sessions files after register some Session variables in it. The Script (see below in "Step to Reproduce") works well on other non-PPC systems. Same Problem with older PHP versions. Reproducible: Always Steps to Reproduce: 1. Set up Apache with php 2. Copy this script to the htdocs root (as session.php): ----------------------------------------- <?php /* session.php */ session_start(); if (!isset ($_SESSION['count'])) { $_SESSION['count'] = 0; } printf ("<html><body><a href='session.php'>count %d</a></body></html><br>", ++$_SESSION['count']); ?> ----------------------------------------- 3. Edit /etc/php4/php.ini -> session.use_trans_sid = 1 4. Turn off cookies in your browser 5. Load the PHP script in you browser 6. tail -f the current session file in /tmp/ 7. Klick on "count 1" Actual Results: PHP reported: Warning: session_start() [function.session-start]: read returned less bytes than requested in /home/httpd/htdocs/session.php on line 3 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/httpd/htdocs/session.php:3) in /home/httpd/htdocs/session.php on line 3 Expected Results: count up from 1 (1, 2, 3, 4, ...) while klick on "count x" php/mod_php version: 1.3.1 apache version: 1.3.27-r3 ================================================================= System uname: 2.4.20-ben7 ppc GENTOO_MIRRORS="http://gentoo.oregonstate.edu/ http://www.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="oss dvd xv jpeg nls mitshm gif sdl oggvorbis motif mozilla png truetype ppc gdbm berkdb slang readline gpm tcpd pam libwww ssl perl python esd imlib qt opengl ipv6 X gtk gnome -kde" COMPILER="gcc3" CHOST="powerpc-unknown-linux-gnu" CFLAGS="-O3 -pipe -mcpu=750" CXXFLAGS="-O3 -pipe -mcpu=750" ACCEPT_KEYWORDS="ppc" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="ccache"
I have confirmed this, but have yet been able to track down why.. I'm suspecting something in php's read code. Do you know if this applies to non gentoo versions of php? (my php machine is _very_ slow)
has anyone looked at this? It's still sadly broken and unusable
moving this to major severity, any PHP based stuff that tries to use sessions (most advanced stuff does), is completely unusable currently due to this
Hi folks, I cannot reproduce this on my Debian PPC (Linux version 2.4.20 (root@jan) (gcc version 2.95.4 20011002 (Debian prerelease)) #2 Wed Feb 19 18:38:53 CET 2003) I get the expected results and no error messages. I am running php5 latest cvs and apache 1.3.26. If you need more information or want me to test certain stuff, just drop me a mail at jan@php.net
I was able to reproduce the bug with php4.3.x-dev (from snaps.php.net some minutes ago) and the 4.3.1 release.
Hmm, I guess there are no developers even responding to this, sadly is there -anyone- out there dev wise? any response would be appreciated. If this is in fact an upstream issue, then someone really needs to resurrect a working build for PPC building from source I didn't have this problem, so it may be somehting specific to a conigure option used.
I am paying attention. There is only so much I can do, due to my lack of knowledge of PHP, but this issue is definitely on my mind. I'll talk to Jan about it.
seems an upstream problem, reported and reproduced on debianppc too. seems fixed in the cvs
thnxs upstream developers. Going to close this bug on ppc and reassign to robbat2. PPC is in need of a php cvs snapshot ebuild. As current stuff breaks
For wanting a PHP snapshot build, could you please specify how recent a build you want ? If you have time on your hands (I'm really busy at work this week) please provide me a link to a tarball that you know works, and handle ebuilds for it. I want to test any CVS snapshot throughly on x86 first, due to the potentional for breakage.
I've put PHP4.3.3_rc3 into the tree, with ACCEPT_KEYWORDS="-* ~ppc" It fails on these tests for x86: InterBase: BLOB test [ext/interbase/tests/004.phpt] Bug #24142 (round() problems) [ext/standard/tests/math/bug24142.phpt] Bug #24063 (serialize() missing 0 after the . on scientific notation) [ext/standard/tests/serialize/bug24063.phpt] please test it heavily.
Closing as it should hopefully work.
closing again.