Fatal Error "invalid locale" with scheduled jobs and tax receipts (and others) and php 8.1.25 & civicrm 5.66.x
After updating to php 8.1.25
PHP 8.1.25 (cli) (built: Oct 27 2023 13:02:10) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.25, Copyright (c) Zend Technologies
with Zend OPcache v8.1.25, Copyright (c), by Zend Technologies
Any attempt to call cron (cli with cv, or in the UI) fails with the following erro:
[28-Oct-2023 10:50:42 America/New_York] PHP Fatal error: Uncaught IntlException: datefmt_create: invalid locale: U_ILLEGAL_ARGUMENT_ERROR in /home/cvdemo/public_html/wp-content/plugins/civicrm/civicrm/vendor/pear/log/php-8.1-strftime.php:105
Stack trace:
#0 /home/cvdemo/public_html/wp-content/plugins/civicrm/civicrm/vendor/pear/log/php-8.1-strftime.php(105): IntlDateFormatter->__construct()
#1 /home/cvdemo/public_html/wp-content/plugins/civicrm/civicrm/vendor/pear/log/php-8.1-strftime.php(204): PHP81_BC\{closure}()
#2 [internal function]: PHP81_BC\{closure}()
#3 /home/cvdemo/public_html/wp-content/plugins/civicrm/civicrm/vendor/pear/log/php-8.1-strftime.php(185): preg_replace_callback()
#4 /home/cvdemo/public_html/wp-content/plugins/civicrm/civicrm/vendor/pear/log/Log.php(887): PHP81_BC\strftime()
#5 /home/cvdemo/public_html/wp-content/plugins/civicrm/civicrm/vendor/pear/log/Log/file.php(294): Log->formatTime()
#6 /home/cvdemo/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(590): Log_file->log()
#7 /home/cvdemo/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(562): CRM_Core_Error::debug_log_message()
#8 /home/cvdemo/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(442): CRM_Core_Error::debug_var()
#9 /home/cvdemo/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(39): CRM_Core_Error::handleUnhandledException()
#10 /home/cvdemo/public_html/wp-content/plugins/civicrm/civicrm.php(1199): CRM_Core_Invoke::invoke()
#11 /home/cvdemo/public_html/wp-includes/class-wp-hook.php(310): CiviCRM_For_WordPress->invoke()
#12 /home/cvdemo/public_html/wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters()
#13 /home/cvdemo/public_html/wp-includes/plugin.php(517): WP_Hook->do_action()
#14 /home/cvdemo/public_html/wp-admin/admin.php(259): do_action()
#15 {main}
thrown in /home/cvdemo/public_html/wp-content/plugins/civicrm/civicrm/vendor/pear/log/php-8.1-strftime.php on line 105
I am finding this on:
WP 6.3.2
CiviCRM 5.64.x and greater
The only workaround I could find was temporarily reverting to php 7.4