|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2002-02-20 18:14 UTC] pilots at farlep dot net
My site was developed on php4.0.6 on Win2K-Server (home PC) and runned on UNIX (commercial hosting). All things were OK anywhere, on both IIS (CGI and ISAPI) and Apache (CGI and module). Then my hoster setuped php4.1.1. and site stopped to work! And the same problem was on another hoster which used 4.1.1 version (both are running Unix). I tryed to setup 4.1.1 on my PC and got the same problem. It does not depend on OS, Web-server or mode (cgi, ISAPI, module...), it appears anywhere. I myself checked all settings in php.ini, but all settings was OK there. The problem looks so: browser gets only part of pages, pages are cutted in some places, which are individual for each page (although pages have common header) and for each OS or server. And there is no visible dependency on html or php-code in those places. So, it looks as some unexpected output crash... Unfortunately, I don't know how I can describe the problem better... If you need more info, please, ask concrete questions. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 14:00:01 2025 UTC |
I made test using the advised method, and found that crush appears in one my simple function "call". A simple example goes below: <? // --------------------------------------\ // Apply specified function to arguments // if 2'nd argument is an array, its elements replace arguments // it's a way to apply function to arguments by their references // Examples: // list($c1)=call("intval",$a1); // list($c2,$c3)=call("htmlspecialchars",$b2,$b3); // call("htmlspecialchars",array(&$b2,&$b3)); // ------------------------------------\ function call() { if (func_num_args()<2) return false; $argv=func_get_args(); $func=array_shift($argv); error_log(__FILE__.'('.__LINE__.')'); // if (is_array($argv[0])) $argv=&$argv[0]; // Crush is here error_log(__FILE__.'('.__LINE__.')'); // reset($argv); while (list($k,$v)=each($argv)) $argv[$k]=$func($v); reset($argv); return $argv; } // ------------------------------------/ call("intval",1); // OK call("intval",array(1)); // Crush ?> Note: actually cutting line goes some earlier than that crush point, but, I think it's because some PHP bufferization, and is not important now.