@@ -76,17 +76,20 @@ __thread bool is_worker_thread = false;
7676__thread zval * os_environment = NULL ;
7777__thread HashTable * worker_ini_snapshot = NULL ;
7878
79- /* Session user handler names (same structure as PS(mod_user_names)) */
79+ /* Session user handler names (same structure as PS(mod_user_names)).
80+ * ps_create_sid, ps_validate_sid, ps_update_timestamp added in PHP 8.3 */
8081typedef struct {
8182 zval ps_open ;
8283 zval ps_close ;
8384 zval ps_read ;
8485 zval ps_write ;
8586 zval ps_destroy ;
8687 zval ps_gc ;
88+ #if PHP_VERSION_ID >= 80300
8789 zval ps_create_sid ;
8890 zval ps_validate_sid ;
8991 zval ps_update_timestamp ;
92+ #endif
9093} session_user_handlers ;
9194
9295__thread session_user_handlers * worker_session_handlers_snapshot = NULL ;
@@ -301,9 +304,11 @@ static void frankenphp_snapshot_session_handlers(void) {
301304 SNAPSHOT_HANDLER (ps_write );
302305 SNAPSHOT_HANDLER (ps_destroy );
303306 SNAPSHOT_HANDLER (ps_gc );
307+ #if PHP_VERSION_ID >= 80300
304308 SNAPSHOT_HANDLER (ps_create_sid );
305309 SNAPSHOT_HANDLER (ps_validate_sid );
306310 SNAPSHOT_HANDLER (ps_update_timestamp );
311+ #endif
307312
308313#undef SNAPSHOT_HANDLER
309314}
@@ -330,9 +335,11 @@ static void frankenphp_restore_session_handlers(void) {
330335 RESTORE_HANDLER (ps_write );
331336 RESTORE_HANDLER (ps_destroy );
332337 RESTORE_HANDLER (ps_gc );
338+ #if PHP_VERSION_ID >= 80300
333339 RESTORE_HANDLER (ps_create_sid );
334340 RESTORE_HANDLER (ps_validate_sid );
335341 RESTORE_HANDLER (ps_update_timestamp );
342+ #endif
336343
337344#undef RESTORE_HANDLER
338345}
@@ -359,9 +366,11 @@ static void frankenphp_cleanup_worker_state(void) {
359366 FREE_HANDLER (ps_write );
360367 FREE_HANDLER (ps_destroy );
361368 FREE_HANDLER (ps_gc );
369+ #if PHP_VERSION_ID >= 80300
362370 FREE_HANDLER (ps_create_sid );
363371 FREE_HANDLER (ps_validate_sid );
364372 FREE_HANDLER (ps_update_timestamp );
373+ #endif
365374
366375#undef FREE_HANDLER
367376
0 commit comments