Sascha Schumann [Fri, 4 Oct 2002 18:21:40 +0000 (18:21 +0000)]
Improve the general behaviour of stream_gets and fix its semantics
with regard to sockets. The behaviour should be aligned with PHP 4.2 now.
This has been verified to some degree.
If the underlying stream operations block when no new data is readable,
we need to take extra precautions.
If there is buffered data available, we check for a EOL. If it exists,
we pass the data immediately back to the caller. This saves a call
to the read implementation and will not block where blocking
is not necessary at all.
If the stream buffer contains more data than the caller requested,
we can also avoid that costly step and simply return that data.
Melvyn Sopacua [Fri, 4 Oct 2002 11:41:34 +0000 (11:41 +0000)]
Improve testkit for xslt.
002.phpt and 003.phpt are regression tests for reported bugs.
004.phpt has been known to cause problems in some Sab/PHP combinations.
No known reports in bug db for that one.
Added skip mechanism
@- Added regression test for bugs #17791 and #17931 (Melvyn)
Rasmus Lerdorf [Fri, 4 Oct 2002 04:47:35 +0000 (04:47 +0000)]
As discussed, add --with-config-file-scan-dir compile-time switch defining
a directory which will be scanned for *.ini files after the main php.ini
file has been parsed. This makes it much easier to automatically deploy
a modular PHP since adding extensions which have their own ini switches can
now be done by simply dropping a foo.ini file in the right directory and
restarting. A list of parsed ini files is maintained and shown on the
phpinfo page.
Andrei Zmievski [Thu, 3 Oct 2002 18:30:27 +0000 (18:30 +0000)]
Revert the patch for now. We'll be branching on Saturday the way it's
implemented is a bit half-baked. We can always merge it into the branch
at a later point.
Yasuo Ohgaki [Thu, 3 Oct 2002 13:32:01 +0000 (13:32 +0000)]
Fixed broken code by Derick.
ob_implicit_flush() and ob_flush_all() are stopped working.
var_dump() and hightlisht_string() outputs buffer contents wrongly
with ob_implicit_flush().
Everyone should be happy now.
It was only OG(implicit_flush) interpretation issue after all.
Yasuo Ohgaki [Thu, 3 Oct 2002 09:57:53 +0000 (09:57 +0000)]
Shouldn't enable implicit_flush like this.
Most problems are fixed. If you find internal function that does
not follow my comment, please fix it or let me know.
Yasuo Ohgaki [Thu, 3 Oct 2002 08:54:13 +0000 (08:54 +0000)]
Added comment for php_output_set_status().
Please use this function if you would like to prevent unwanted flush
by implicit_flush=On or ob_implicit_flush().
Sascha Schumann [Thu, 3 Oct 2002 06:45:15 +0000 (06:45 +0000)]
Make the interpretation of gc_probability configurable by adding
session.gc_dividend. The probability of running gc on each request is then
gc_probability/gc_dividend.
Sascha Schumann [Thu, 3 Oct 2002 03:23:02 +0000 (03:23 +0000)]
Nuke PS(vars), we keep the state of registered session variables now
completely in PS(http_session_vars). This avoids bugs which are caused
by a lack of synchronization between the two hashes. We also don't need
to worry about prioritizing one of them.
Add session.bug_compat_42 and session.bug_compat_warn which are enabled
by default. The logic behind bug_compat_42:
IF bug_compat_42 is on, and
IF register_globals is off, and
IF any value of $_SESSION["key"] is NULL, and
IF there is a global variable $key, then
$_SESSION["key"] is set to $key.
The extension emits this warning once per script, unless told otherwise.
"Your script possibly relies on a session side-effect which existed until
PHP 4.2.3. Please be advised that the session extension does not consider
global variables as a source of data, unless register_globals is enabled.
You can disable this functionality and this warning by setting
session.bug_compat_42 or session.bug_compat_warn.