--- a/ext/intl/config.m4
+++ b/ext/intl/config.m4
@@ -85,6 +85,14 @@
     breakiterator/codepointiterator_methods.cpp"
 
   PHP_INTL_CPP_FLAGS="$ICU_CXXFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DU_DEFINE_FALSE_AND_TRUE=1"
+  AC_MSG_CHECKING([if intl requires -std=gnu++17])
+  AS_IF([test "$PKG_CONFIG icu-uc --atleast-version=74"], [
+    AC_MSG_RESULT([yes])
+    PHP_INTL_CPP_FLAGS="$PHP_INTL_CPP_FLAGS -std=gnu++17"
+  ], [
+    AC_MSG_RESULT([no])
+    PHP_INTL_CPP_FLAGS="$PHP_INTL_CPP_FLAGS -std=gnu++11"
+  ])
   if test "$ext_shared" = "no"; then
     PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS)
   else
