From: foobar Date: Sat, 27 Oct 2001 05:22:19 +0000 (+0000) Subject: - Prevent PHP from starting if output_handler is set and X-Git-Tag: ChangeLog~522 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=609271e651c237e343529f5d3635c3afad2e4f88;p=php - Prevent PHP from starting if output_handler is set and zlib.output_compression is on - Added notes to the bundled php.ini files about this. --- diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c index 57fe6cf711..941d9f0da5 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -131,8 +131,27 @@ ZEND_DECLARE_MODULE_GLOBALS(zlib) ZEND_GET_MODULE(php_zlib) #endif +/* {{{ OnUpdate_zlib_output_compression */ +static PHP_INI_MH(OnUpdate_zlib_output_compression) +{ + char *ini_value; + + ini_value = php_ini_string("output_handler", sizeof("output_handler"), 0); + + if (new_value != NULL && strlen(ini_value) != 0) { + php_error(E_CORE_ERROR,"Cannot use both zlib.output_compression and output_handler!!"); + return FAILURE; + } + + OnUpdateInt(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + + return SUCCESS; +} +/* }}} */ + + PHP_INI_BEGIN() - STD_PHP_INI_BOOLEAN("zlib.output_compression", "0", PHP_INI_ALL, OnUpdateInt, output_compression, zend_zlib_globals, zlib_globals) + STD_PHP_INI_BOOLEAN("zlib.output_compression", "0", PHP_INI_ALL, OnUpdate_zlib_output_compression, output_compression, zend_zlib_globals, zlib_globals) PHP_INI_END() /* {{{ phpi_destructor_gzclose diff --git a/php.ini-dist b/php.ini-dist index 798b4b25d6..308f56f358 100644 --- a/php.ini-dist +++ b/php.ini-dist @@ -97,6 +97,9 @@ output_handler = ; Transparent output compression using the zlib library ; Valid values for this option are 'off', 'on', or a specific buffer size ; to be used for compression (default is 4KB) +; +; Note: output_handler must be empty if this is set 'On' !!!! +; zlib.output_compression = Off ; Implicit flush tells PHP to tell the output layer to flush itself diff --git a/php.ini-recommended b/php.ini-recommended index 14d00fde47..36703bbaf2 100644 --- a/php.ini-recommended +++ b/php.ini-recommended @@ -110,6 +110,9 @@ output_handler = ; Transparent output compression using the zlib library ; Valid values for this option are 'off', 'on', or a specific buffer size ; to be used for compression (default is 4KB) +; +; Note: output_handler must be empty if this is set 'On' !!!! +; zlib.output_compression = Off ; Implicit flush tells PHP to tell the output layer to flush itself