@@ -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 ;
@@ -309,9 +312,11 @@ static void frankenphp_snapshot_session_handlers(void) {
309312 SNAPSHOT_HANDLER (ps_write );
310313 SNAPSHOT_HANDLER (ps_destroy );
311314 SNAPSHOT_HANDLER (ps_gc );
315+ #if PHP_VERSION_ID >= 80300
312316 SNAPSHOT_HANDLER (ps_create_sid );
313317 SNAPSHOT_HANDLER (ps_validate_sid );
314318 SNAPSHOT_HANDLER (ps_update_timestamp );
319+ #endif
315320
316321#undef SNAPSHOT_HANDLER
317322}
@@ -338,9 +343,11 @@ static void frankenphp_restore_session_handlers(void) {
338343 RESTORE_HANDLER (ps_write );
339344 RESTORE_HANDLER (ps_destroy );
340345 RESTORE_HANDLER (ps_gc );
346+ #if PHP_VERSION_ID >= 80300
341347 RESTORE_HANDLER (ps_create_sid );
342348 RESTORE_HANDLER (ps_validate_sid );
343349 RESTORE_HANDLER (ps_update_timestamp );
350+ #endif
344351
345352#undef RESTORE_HANDLER
346353}
@@ -367,9 +374,11 @@ static void frankenphp_cleanup_worker_state(void) {
367374 FREE_HANDLER (ps_write );
368375 FREE_HANDLER (ps_destroy );
369376 FREE_HANDLER (ps_gc );
377+ #if PHP_VERSION_ID >= 80300
370378 FREE_HANDLER (ps_create_sid );
371379 FREE_HANDLER (ps_validate_sid );
372380 FREE_HANDLER (ps_update_timestamp );
381+ #endif
373382
374383#undef FREE_HANDLER
375384
0 commit comments