diff --git a/TSRM/TSRM.h b/TSRM/TSRM.h index 2ab1f44ced816..875f39e5a4a7c 100644 --- a/TSRM/TSRM.h +++ b/TSRM/TSRM.h @@ -169,8 +169,10 @@ TSRM_API const char *tsrm_api_name(void); #define TSRMLS_CACHE_DEFINE() TSRM_TLS void *TSRMLS_CACHE = NULL; #if ZEND_DEBUG #define TSRMLS_CACHE_UPDATE() TSRMLS_CACHE = tsrm_get_ls_cache() +#define TSRMLS_CACHE_RESET() #else #define TSRMLS_CACHE_UPDATE() if (!TSRMLS_CACHE) TSRMLS_CACHE = tsrm_get_ls_cache() +#define TSRMLS_CACHE_RESET() TSRMLS_CACHE = NULL #endif #define TSRMLS_CACHE _tsrm_ls_cache diff --git a/sapi/embed/php_embed.c b/sapi/embed/php_embed.c index e444610d7743d..e2a27a192ced0 100644 --- a/sapi/embed/php_embed.c +++ b/sapi/embed/php_embed.c @@ -227,6 +227,7 @@ EMBED_SAPI_API void php_embed_shutdown(void) sapi_shutdown(); #ifdef ZTS tsrm_shutdown(); + TSRMLS_CACHE_RESET(); #endif if (php_embed_module.ini_entries) { free(php_embed_module.ini_entries);