@@ -789,6 +789,44 @@ static PHP_INI_MH(OnUpdateSidBits) /* {{{ */
789
789
}
790
790
/* }}} */
791
791
792
+ static PHP_INI_MH (OnUpdateSessionGcProbability ) /* {{{ */
793
+ {
794
+ SESSION_CHECK_ACTIVE_STATE ;
795
+ SESSION_CHECK_OUTPUT_STATE ;
796
+
797
+ zend_long tmp = zend_ini_parse_quantity_warn (new_value , entry -> name );
798
+
799
+ if (tmp < 0 ) {
800
+ php_error_docref ("session.gc_probability" , E_WARNING , "session.gc_probability must be greater than or equal to 0" );
801
+ return FAILURE ;
802
+ }
803
+
804
+ zend_long * p = (zend_long * ) ZEND_INI_GET_ADDR ();
805
+ * p = tmp ;
806
+
807
+ return SUCCESS ;
808
+ }
809
+ /* }}} */
810
+
811
+ static PHP_INI_MH (OnUpdateSessionDivisor ) /* {{{ */
812
+ {
813
+ SESSION_CHECK_ACTIVE_STATE ;
814
+ SESSION_CHECK_OUTPUT_STATE ;
815
+
816
+ zend_long tmp = zend_ini_parse_quantity_warn (new_value , entry -> name );
817
+
818
+ if (tmp <= 0 ) {
819
+ php_error_docref ("session.gc_divisor" , E_WARNING , "session.gc_divisor must be greater than 0" );
820
+ return FAILURE ;
821
+ }
822
+
823
+ zend_long * p = (zend_long * ) ZEND_INI_GET_ADDR ();
824
+ * p = tmp ;
825
+
826
+ return SUCCESS ;
827
+ }
828
+ /* }}} */
829
+
792
830
static PHP_INI_MH (OnUpdateRfc1867Freq ) /* {{{ */
793
831
{
794
832
int tmp = ZEND_ATOL (ZSTR_VAL (new_value ));
@@ -814,8 +852,8 @@ PHP_INI_BEGIN()
814
852
STD_PHP_INI_ENTRY ("session.name" , "PHPSESSID" , PHP_INI_ALL , OnUpdateName , session_name , php_ps_globals , ps_globals )
815
853
PHP_INI_ENTRY ("session.save_handler" , "files" , PHP_INI_ALL , OnUpdateSaveHandler )
816
854
STD_PHP_INI_BOOLEAN ("session.auto_start" , "0" , PHP_INI_PERDIR , OnUpdateBool , auto_start , php_ps_globals , ps_globals )
817
- STD_PHP_INI_ENTRY ("session.gc_probability" , "1" , PHP_INI_ALL , OnUpdateSessionLong , gc_probability , php_ps_globals , ps_globals )
818
- STD_PHP_INI_ENTRY ("session.gc_divisor" , "100" , PHP_INI_ALL , OnUpdateSessionLong , gc_divisor , php_ps_globals , ps_globals )
855
+ STD_PHP_INI_ENTRY ("session.gc_probability" , "1" , PHP_INI_ALL , OnUpdateSessionGcProbability , gc_probability , php_ps_globals , ps_globals )
856
+ STD_PHP_INI_ENTRY ("session.gc_divisor" , "100" , PHP_INI_ALL , OnUpdateSessionDivisor , gc_divisor , php_ps_globals , ps_globals )
819
857
STD_PHP_INI_ENTRY ("session.gc_maxlifetime" , "1440" , PHP_INI_ALL , OnUpdateSessionLong , gc_maxlifetime , php_ps_globals , ps_globals )
820
858
PHP_INI_ENTRY ("session.serialize_handler" , "php" , PHP_INI_ALL , OnUpdateSerializer )
821
859
STD_PHP_INI_ENTRY ("session.cookie_lifetime" , "0" , PHP_INI_ALL , OnUpdateCookieLifetime ,cookie_lifetime , php_ps_globals , ps_globals )
0 commit comments