Quote Originally Posted by Georgecy View Post
Hi Cindy,
The patch @setlocale(LC_TIME, ['en_US', 'en_US.UTF-8', 'en-US']); has been applied to both configure files without success. I initially use GB instead of US but at the end I used the exact statement above. I tried also to changed the Time Zone to Europe/Athens but without success.
[09-May-2024 17:05:51 Europe/Athens] PHP Fatal error: Uncaught IntlException: datefmt_create: No such time zone: 'Europe/Athens': U_ILLEGAL_ARGUMENT_ERROR in /includes/classes/zcDate.php:90

When going back to PHP 7.4 or 8.0 the blank pages go away and the the store works as expected.

The logs are the shown below

[09-May-2024 13:32:46 UTC] PHP Fatal error: Uncaught IntlException: datefmt_create: No such time zone: 'UTC': U_ILLEGAL_ARGUMENT_ERROR in /includes/classes/zcDate.php:90
Stack trace:
#0 /includes/classes/zcDate.php(90): IntlDateFormatter->__construct()
#1 /includes/classes/zcDate.php(39): zcDate->initializeConversionArrays()
#2 /includes/autoload_func.php(47): zcDate->__construct()
#3 /admin!/includes/application_top.php(42): require('...')
#4 /admin!/login.php(8): require('...')
#5 /admin!/index.php(11): require('...')
#6 {main}
thrown in /includes/classes/zcDate.php on line 90

[09-May-2024 13:32:46 UTC] Request URI: /admin!/index.php?cmd=login&camefrom=index.php, IP address: xxxxxxx
--> PHP Fatal error: Uncaught IntlException: datefmt_create: No such time zone: 'UTC': U_ILLEGAL_ARGUMENT_ERROR in /includes/classes/zcDate.php:90
Stack trace:
#0 /includes/classes/zcDate.php(90): IntlDateFormatter->__construct()
#1 /includes/classes/zcDate.php(39): zcDate->initializeConversionArrays()
#2 /includes/autoload_func.php(47): zcDate->__construct()
#3 /admin!/includes/application_top.php(42): require('...')
#4 /admin!/login.php(8): require('...')
#5 /admin!/index.php(11): require('...')
#6 {main}
thrown in /includes/classes/zcDate.php on line 90.
The part that makes your post the most difficult to troubleshoot is that line 90 of that file doesn't look anything like calling datefmt_create like the error message is suggesting. Here's the file from v158a: https://github.com/zencart/zencart/b...p#L87C1-L91C15

So what exactly is on YOUR line 90, and why is it different from released code?

Even in v2.0.0 it doesn't refer to datefmt_create anywhere close to that line: https://github.com/zencart/zencart/b...ses/zcDate.php
(Although given a few enhancements made to the 2.0 version of that file, it "might" be worth temporarily testing the 2.0 version on your 158a site, as an experiment.)

Definitely the error message you're getting about it saying "No such time zone" means that your PHP environment isn't aware of time zone defaults. So that's a PHP configuration problem. Like others have said, installing the 'intl' extension may help, and I see you've tried that with mixed results.

Your comment about Joomla recognizing it fine doesn't really make any difference here: if Joomla's not using the date functions that Zen Cart is calling then Joomla's not triggering your PHP configuration problem, so it's just hidden by non-use.

Zen Cart doesn't do any trickery. It just uses whatever PHP binary is linked to the vhost that you have configured for the domain you're running the site on. So if your Abyss webserver configuration is pointing this domain to use a certain PHP binary, that's what Zen Cart will run with ... and it will expect that PHP's configuration (installed extensions, ini file contents, etc) to be correct. Zen Cart doesn't do anything fancy with it: it just expects a correctly configured PHP.