mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
main: Change the register_argc_argv INI default to Off (#19473)
This partly implements the deprecation of the `register_argc_argv` INI setting by updating the default value to ensure safe behavior when no INI file is loaded. The actual deprecation warning will follow separately. RFC: https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_the_register_argc_argv_ini_directive
This commit is contained in:
@@ -783,7 +783,7 @@ PHP_INI_BEGIN()
|
||||
STD_PHP_INI_BOOLEAN("report_zend_debug", "0", PHP_INI_ALL, OnUpdateBool, report_zend_debug, php_core_globals, core_globals)
|
||||
STD_PHP_INI_ENTRY("output_buffering", "0", PHP_INI_PERDIR|PHP_INI_SYSTEM, OnUpdateLong, output_buffering, php_core_globals, core_globals)
|
||||
STD_PHP_INI_ENTRY("output_handler", NULL, PHP_INI_PERDIR|PHP_INI_SYSTEM, OnUpdateString, output_handler, php_core_globals, core_globals)
|
||||
STD_PHP_INI_BOOLEAN("register_argc_argv", "1", PHP_INI_PERDIR|PHP_INI_SYSTEM, OnUpdateBool, register_argc_argv, php_core_globals, core_globals)
|
||||
STD_PHP_INI_BOOLEAN("register_argc_argv", "0", PHP_INI_PERDIR|PHP_INI_SYSTEM, OnUpdateBool, register_argc_argv, php_core_globals, core_globals)
|
||||
STD_PHP_INI_BOOLEAN("auto_globals_jit", "1", PHP_INI_PERDIR|PHP_INI_SYSTEM, OnUpdateBool, auto_globals_jit, php_core_globals, core_globals)
|
||||
STD_PHP_INI_BOOLEAN("short_open_tag", DEFAULT_SHORT_OPEN_TAG, PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateBool, short_tags, zend_compiler_globals, compiler_globals)
|
||||
|
||||
|
||||
@@ -129,11 +129,6 @@
|
||||
; Development Value: 4096
|
||||
; Production Value: 4096
|
||||
|
||||
; register_argc_argv
|
||||
; Default Value: On
|
||||
; Development Value: Off
|
||||
; Production Value: Off
|
||||
|
||||
; request_order
|
||||
; Default Value: None
|
||||
; Development Value: "GP"
|
||||
@@ -665,14 +660,12 @@ request_order = "GP"
|
||||
; that were passed when the script was invoked. These arrays are extremely
|
||||
; useful when running scripts from the command line. When this directive is
|
||||
; enabled, registering these variables consumes CPU cycles and memory each time
|
||||
; a script is executed. For performance reasons, this feature should be disabled
|
||||
; on production servers.
|
||||
; a script is executed. For security reasons, this feature should be disabled
|
||||
; for non-CLI SAPIs.
|
||||
; Note: This directive is hardcoded to On for the CLI SAPI
|
||||
; Default Value: On
|
||||
; Development Value: Off
|
||||
; Production Value: Off
|
||||
; This directive is deprecated.
|
||||
; https://php.net/register-argc-argv
|
||||
register_argc_argv = Off
|
||||
;register_argc_argv = Off
|
||||
|
||||
; When enabled, the ENV, REQUEST and SERVER variables are created when they're
|
||||
; first used (Just In Time) instead of when the script starts. If these
|
||||
|
||||
@@ -129,11 +129,6 @@
|
||||
; Development Value: 4096
|
||||
; Production Value: 4096
|
||||
|
||||
; register_argc_argv
|
||||
; Default Value: On
|
||||
; Development Value: Off
|
||||
; Production Value: Off
|
||||
|
||||
; request_order
|
||||
; Default Value: None
|
||||
; Development Value: "GP"
|
||||
@@ -667,14 +662,12 @@ request_order = "GP"
|
||||
; that were passed when the script was invoked. These arrays are extremely
|
||||
; useful when running scripts from the command line. When this directive is
|
||||
; enabled, registering these variables consumes CPU cycles and memory each time
|
||||
; a script is executed. For performance reasons, this feature should be disabled
|
||||
; on production servers.
|
||||
; a script is executed. For security reasons, this feature should be disabled
|
||||
; for non-CLI SAPIs.
|
||||
; Note: This directive is hardcoded to On for the CLI SAPI
|
||||
; Default Value: On
|
||||
; Development Value: Off
|
||||
; Production Value: Off
|
||||
; This directive is deprecated.
|
||||
; https://php.net/register-argc-argv
|
||||
register_argc_argv = Off
|
||||
;register_argc_argv = Off
|
||||
|
||||
; When enabled, the ENV, REQUEST and SERVER variables are created when they're
|
||||
; first used (Just In Time) instead of when the script starts. If these
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
--TEST--
|
||||
Testing $argc and $argv handling (GET)
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if(substr(PHP_OS, 0, 3) == 'WIN') die("skip on windows: --INI-- is ignored due to 4b9cd27ff5c0177dcb160caeae1ea79e761ada58");
|
||||
?>
|
||||
--INI--
|
||||
register_argc_argv=1
|
||||
--GET--
|
||||
|
||||
22
tests/basic/011_windows.phpt
Normal file
22
tests/basic/011_windows.phpt
Normal file
@@ -0,0 +1,22 @@
|
||||
--TEST--
|
||||
Testing $argc and $argv handling (GET)
|
||||
--INI--
|
||||
register_argc_argv=1
|
||||
--GET--
|
||||
foo=ab+cd+ef+123+test
|
||||
--FILE--
|
||||
<?php
|
||||
$argc = $_SERVER['argc'];
|
||||
$argv = $_SERVER['argv'];
|
||||
|
||||
for ($i=0; $i<$argc; $i++) {
|
||||
echo "$i: ".$argv[$i]."\n";
|
||||
}
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
0: foo=ab
|
||||
1: cd
|
||||
2: ef
|
||||
3: 123
|
||||
4: test
|
||||
Reference in New Issue
Block a user