@@ -786,7 +786,7 @@ PHPAPI zend_result php_hash_environment(void)
786786{
787787 memset (PG (http_globals ), 0 , sizeof (PG (http_globals )));
788788 zend_activate_auto_globals ();
789- if (PG (register_argc_argv )) {
789+ if (PG (register_argc_argv ) || SG ( request_info ). argc ) {
790790 php_build_argv (SG (request_info ).query_string , & PG (http_globals )[TRACK_VARS_SERVER ]);
791791 }
792792 return SUCCESS ;
@@ -875,19 +875,17 @@ static bool php_auto_globals_create_server(zend_string *name)
875875 if (PG (variables_order ) && (strchr (PG (variables_order ),'S' ) || strchr (PG (variables_order ),'s' ))) {
876876 php_register_server_variables ();
877877
878- if (PG (register_argc_argv )) {
879- if (SG (request_info ).argc ) {
880- zval * argc , * argv ;
878+ if (SG (request_info ).argc ) {
879+ zval * argc , * argv ;
881880
882- if ((argc = zend_hash_find_ex_ind (& EG (symbol_table ), ZSTR_KNOWN (ZEND_STR_ARGC ), 1 )) != NULL &&
883- (argv = zend_hash_find_ex_ind (& EG (symbol_table ), ZSTR_KNOWN (ZEND_STR_ARGV ), 1 )) != NULL ) {
884- Z_ADDREF_P (argv );
885- zend_hash_update (Z_ARRVAL (PG (http_globals )[TRACK_VARS_SERVER ]), ZSTR_KNOWN (ZEND_STR_ARGV ), argv );
886- zend_hash_update (Z_ARRVAL (PG (http_globals )[TRACK_VARS_SERVER ]), ZSTR_KNOWN (ZEND_STR_ARGC ), argc );
887- }
888- } else {
889- php_build_argv (SG (request_info ).query_string , & PG (http_globals )[TRACK_VARS_SERVER ]);
881+ if ((argc = zend_hash_find_ex_ind (& EG (symbol_table ), ZSTR_KNOWN (ZEND_STR_ARGC ), 1 )) != NULL &&
882+ (argv = zend_hash_find_ex_ind (& EG (symbol_table ), ZSTR_KNOWN (ZEND_STR_ARGV ), 1 )) != NULL ) {
883+ Z_ADDREF_P (argv );
884+ zend_hash_update (Z_ARRVAL (PG (http_globals )[TRACK_VARS_SERVER ]), ZSTR_KNOWN (ZEND_STR_ARGV ), argv );
885+ zend_hash_update (Z_ARRVAL (PG (http_globals )[TRACK_VARS_SERVER ]), ZSTR_KNOWN (ZEND_STR_ARGC ), argc );
890886 }
887+ } else if (PG (register_argc_argv )) {
888+ php_build_argv (SG (request_info ).query_string , & PG (http_globals )[TRACK_VARS_SERVER ]);
891889 }
892890
893891 } else {
0 commit comments