Skip to content

Commit 5a292ea

Browse files
committed
fix(config): php-fpm pool env var handling
1 parent 31fdac1 commit 5a292ea

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

zend_abstract_interface/config/config.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,13 @@ void zai_config_first_time_rinit(bool in_request) {
294294
(void)in_request;
295295
#endif
296296

297+
if (in_request) {
298+
// Refresh process env snapshot for SAPIs like FPM that materialize
299+
// pool env values just before the first request.
300+
zai_config_clear_cached_env_values();
301+
zai_config_cache_env_values();
302+
}
303+
297304
for (uint16_t i = 0; i < zai_config_memoized_entries_count; i++) {
298305
zai_config_memoized_entry *memoized = &zai_config_memoized_entries[i];
299306
zai_config_find_and_set_value(memoized, i);

zend_abstract_interface/config/tests/ini.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -556,6 +556,7 @@ TEST_INI("setting an env value after memoization for multiple ZAI config users",
556556
REQUIRE_SETENV("INI_FOO_STRING", "value2");
557557

558558
// Something else inits zai config first
559+
zai_config_first_time_rinit(true);
559560
zai_config_rinit();
560561
zai_config_rshutdown();
561562

@@ -569,7 +570,7 @@ TEST_INI("setting an env value after memoization for multiple ZAI config users",
569570

570571
REQUIRE(value != NULL);
571572
REQUIRE(Z_TYPE_P(value) == IS_STRING);
572-
REQUIRE(zval_string_equals(value, "value"));
573+
REQUIRE(zval_string_equals(value, "value2"));
573574

574575
REQUEST_END()
575576
})

0 commit comments

Comments
 (0)