|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2001-12-14 20:16 UTC] jay1 at swift-web dot com
Having a problem like in bug ID# 9836 but was unable to submit comments to that thread. scripts sometimes stops outputing part ways through. (No errors just an uncompleted page displayed). Regardless of how many refreshes it stops at exact same place. Some pages have very little code others have a lot so length doesn't seem to be the issue. I tried setting a session variable after an echo statement that did not fully display and on a reload it had taken the new value. This would suggest the script doesn't really stop, just the output of HTML being returned stops. As a side note the time the setting of a session variable was added below the lines not displaying, upon a refresh it not only showed me the variable was set but it displayed the whole page. Sure enough if I pulled the session variable out (nothing relative to the page at all), restart the session it's back to stopping at the exact same spot before - right in the middle of an echo statement such as: echo "This is a sample"; would only output: Thi (and that would be the last of the page) It is not timing out (runs in less than a second). But I have discovered if I set the following in php.ini it works perfectly: output_buffering = On (formally set to 'Off') You would think that with it set to On you'd have more chances of a cut off than with it Off Here is my config line (same as when I run PHP4.0.6 which doesn't repeat this problem). ./configure --with-apxs --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --prefix=/u sr --with-config-file-path=/etc --disable-debug --enable-pic --disable-rpath --enable-inline-optimization --with-bz2 --with-curf --with-db3 --with-exec-dir=/usr/bin --with-gd --with-gdbm --with-gettext -with-jpeg-dir=/usr --enable-trans-sid --with-openssl --with-png --with-regex=system --with-ttl --with-zlib --with-layout=GNU --enable-debugger --enable-ftp --enable-magic-quotes --enable-safe-mode --enable-sockets --enable-sysvsem --enable-sysvshm --enable-track-vars --enable-yp --enable-wddx --with-mysql --with-pgsql --without-unixODBC --without-oracle --without-oci8 --with-pspell --with-xml --with-pdf --with-cybercash I also am using Zend Optimizer (for 4.1.0) I should also point out that with PHP4.1.0 I can not use 'user' session handling (used MySQL to handle sessions in PHP4.0.6), now unless I turn it back to default 'files' it will not let me use old (session_register) or the new ($_SESSION['name']=)...though no errors occur the session just doesn't retrieve or store data anymore. I don't know if these two would be linked but I thought I'd bring it up PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 18:00:01 2025 UTC |
Regarding the configure line and your MySQL problems. You should NEVER (okay this is my opinion) use the bundled MySQL libs. On your configure line you should do --with-mysql=/usr | --with-mysql=/usr/local Just depends on where it put your libs, which you can find like so [root@somemachine /]# ldconfig -p | grep mysql libmysqlclient.so.10 (libc6) => /usr/local/lib/mysql/libmysqlclient.so.10 libmysqlclient.so (libc6) => /usr/local/lib/mysql/libmysqlclient.so I think the RPM puts it in /usr. -ChrisI've been seeing the same thing in 4.1.2. In some cases, it partially displays pages. In others (I think this may be related), it doesn't acknowledge a POST until it's been submitted multiple times (3 or 4 generally). Both behaviors are very inconsistent (they happen frequently on a site with moderate use, but I can't reproduce them). Here's a backtrace: Program received signal SIGSEGV, Segmentation fault. 0x402ad693 in _zend_is_inconsistent (ht=0x5a5a5a5a, file=0x403fcb84 "zend_hash.c", line=975) at zend_hash.c:84 84 if (ht->inconsistent==HT_OK) { (gdb) bt #0 0x402ad693 in _zend_is_inconsistent (ht=0x5a5a5a5a, file=0x403fcb84 "? >???>????\025???G?F?????k?l?\205uTv??????Uv?????v?v??????????x@z@u@??v@w@?????@?@?@???@\017y????\204A\205A\203A???A?A?A????????UB??PBLBHB??SB??WBTBNBJBQB????IBKBcB?????B?B?B???????|?|????e~N~\027C??\026C????cC????\202\177??{C|C??"..., line=975) at zend_hash.c:84 #1 0x4046b258 in ?? () from /usr/local/apache/libexec/libphp4.so #2 0x402aff9f in zend_hash_internal_pointer_reset_ex (ht=0x5a5a5a5a, pos=0xbffff090) at zend_hash.c:975 First symbol in segment of executable not a source symbolI'm seeing the same problem with 4.1.2. Can reproduce, but with no consistency. I'm also seeing a problem where PHP isn't responded to POSTs (watching it in ethereal, I had to post repeatedly to get a response; the responding page was to set a couple cookies and do a redirect). Any possibility that they might be related? (Had added a comment with a backtrace, but this one looks much more useful): #0 0x402ad693 in _zend_is_inconsistent (ht=0x0, file=0x403fcb84 "zend_hash.c", line=975) at zend_hash.c:84 #1 0x402aff9f in zend_hash_internal_pointer_reset_ex (ht=0x0, pos=0xbffff090) at zend_hash.c:975 #2 0x4031da18 in php_session_save_current_state () at session.c:544 #3 0x40320579 in php_session_flush () at session.c:1381 #4 0x403205bd in zm_deactivate_session (type=1, module_number=3) at session.c:1393 #5 0x402ac614 in module_registry_cleanup (module=0x8054dc8) at zend_API.c:1165 #6 0x402af394 in zend_hash_apply (ht=0x404808c0, apply_func=0x402ac5d0 <module_registry_cleanup>) at zend_hash.c:669 #7 0x402a8a4e in zend_deactivate_modules () at zend.c:585 #8 0x402b9eb0 in php_request_shutdown (dummy=0x0) at main.c:723 #9 0x402b63ff in apache_php_module_main (r=0x80ab44c, display_source_mode=0) at sapi_apache.c:96 #10 0x402b71d0 in send_php (r=0x80ab44c, display_source_mode=0, filename=0x80ab9cc "/usr/local/apache/htdocs/planworld/index.php") at mod_php4.c:575 #11 0x402b724c in send_parsed_php (r=0x80ab44c) at mod_php4.c:590 #12 0x4004b743 in _ufc_foobar () from /lib/libcrypt.so.1 #13 0x400630b9 in ?? () from /lib/libdb.so.3 #14 0x40063529 in ?? () from /lib/libdb.so.3 #15 0x400354e2 in ?? () from /lib/libcrypt.so.1 #16 0x4004b743 in _ufc_foobar () from /lib/libcrypt.so.1 #17 0x400630b9 in ?? () from /lib/libdb.so.3 #18 0x4006312f in ?? () from /lib/libdb.so.3 #19 0x4005910d in _ufc_foobar () from /lib/libcrypt.so.1 #20 0x400592e3 in _ufc_foobar () from /lib/libcrypt.so.1 #21 0x40059476 in _ufc_foobar () from /lib/libcrypt.so.1 #22 0x40059c34 in _ufc_foobar () from /lib/libcrypt.so.1 #23 0x4005a645 in _ufc_foobar () from /lib/libcrypt.so.1 #24 0x80486dd in ?? () from /usr/local/apache/libexec/mod_caucho.so #25 0x401589cb in __gconv_transform_internal_utf16 (step=0x80486c0, data=0x2, inbuf=0xbffffaa4, inbufend=0x8048560 "U\211?S?", written=0x804877c, do_flush=1073786464) at ../iconv/loop.c:151We MAY have seen a similar problem (not using Zend Optimizer, though -- whew!). We had problems with locutions like function postprocess($buf) { $buf = preg_replace("/some stuff/","some other stuff",$buf); return $buf; } ob_start("postprocess"); Changing the postprocess function to function postprocess($ibuf) { $obuf = preg_replace("/some stuff/","some other stuff",$ibuf); return $obuf; } seems to have eliminated the problem.Is it just me or does the output bug show up more often after a session_destory and then a header("location to another page? When I successfully use my login page it redirects me to a startpage which NEVER shows up wrong. When I logout from this page via a logout link it destoys the session and the redirects me to the login page. The login page NEVER EVER shoes up correctly upon using this "route". If I reload it it shows up nicely. /Fabbe