HTTP ERROR 500 - Help?

Hi guys,
I was working away at a terrific, working, suitecrm installation. It was a fairly new version, around 7.8? it has been working well on bluehost shared hosting account. Now I’ve done something…I was trying to test my first campaign by sending it at a scheduled time to a shortlist of text emails.
I noticed in the log that the log entry times were ahead of my local time. So I added, date.timezone = “America/New_York”;, to the php.ini

I can’t get to any page now. I get this error:

This page isn’t working

crm.nilssonarchitects.us is currently unable to handle this request.
HTTP ERROR 500

My error log shows many of these errors now:

[29-Dec-2019 20:38:29 UTC] PHP Fatal error: Uncaught Exception: DateTime::__construct(): Invalid date.timezone value ‘America/New_York;’, we selected the timezone ‘UTC’ for now. in /home2/domain/public_html/crm/suite/include/TimeDate.php:191
Stack trace:
#0 /home2/domain/public_html/crm/suite/include/TimeDate.php(191): DateTime->__construct()
#1 /home2/domain/public_html/crm/suite/include/TimeDate.php(238): TimeDate->__construct()
#2 /home2/domain/public_html/crm/suite/include/database/DBManager.php(268): TimeDate::getInstance()
#3 /home2/domain/public_html/crm/suite/include/database/DBManagerFactory.php(121): DBManager->__construct()
#4 /home2/domain/public_html/crm/suite/include/database/DBManagerFactory.php(146): DBManagerFactory::getTypeInstance(‘mysql’, Array)
#5 /home2/domain/public_html/crm/suite/include/utils.php(3368): DBManagerFactory::getInstance()
#6 [internal function]: sugar_cleanup()
#7 {main}
thrown in /home2/domain/public_html/crm/suite/include/TimeDate.php on line 191

Help?

I deleted and recreated the php.ini files, so those are all default / cpanel now…

Thanks for looking!

Rick

1 Like

Glad you got it working again👌 and Welcome!
Tho 7.8.x is now unsupported :slightly_smiling_face: I’ve deleted the earlier thread as it was a duplicate.

Aw shoot… just re-read… Are you still having problems after resetting the PHP.ini?

Looking at the fatal the only thing that jumps out at me is the extra semi-colon after your timezone.

Hi Samus-aran,
Thanks for your email. The site is broken, the instance of suitecrm is not working.

I can’t reach any page so no admin functions are available.
I’m trying to use a php repair script to run repair from command line…

I don’t know what I did to break it. the version might be 7.10, I’m not sure…I can see all of the site files with ftp, of course. so I can check. right now I’m trying to make the repair work from CLI

I would be very happy to receive any suggesions. thanks!

https://crm.nilssonarchitects.us

Rick

Thanks again Samas-aran,

No I don’t know how to SuiteCRM time zone via config or config override? I.e $sugar_config[‘timezone’] = “blah nlah”;

is there a config file that I can edit with code/text editor?
I would look for the line:$sugar_config[‘timezone’] = “blah nlah”;

???

I don’t know really what the cause it. I see the fatal error, which is related to time zones…I’ve also reset php versions from 7.1 to 7.3 and back. I can go back to an older version by uploading files via ftp, then replacing the database.
I wish that I didn’t have to do that…this was working well but I can’t even get a page to show…

Hopefully it doesn’t resort to replacing everything hopefully it’s only the php.ini.

Just have a wee check again if the php.ini is correct. Have a wee look at the first part of this thread maybe that will help.

It appears that PHP left in that bug which calls an exception fatal when it should be a fall back https://bugs.php.net/bug.php?id=73239

So we need to fix the invalid date.timezone first. As I said I’m not sure if America/New_York; (especially the semi-colon) is correct.
Just have a double check what it is. If you have reset it does it also reset it to America/New_York?

date.timezone = "America/New_York"

Try it without the semi-colon.

Also regarding the config.php that was a mistake on my part, I was getting it confused with something else - I’ll edit my comment on that. It appears to be only available via php.ini or manually setting it

There is other ways to manually set the timezone, whether it will work at an application level or not, haven’t quite tested it yet. This is only just to test that the php.ini is causing the issue.
Try inserting the below into


date_default_timezone_set(“America/New_York”);

Let us know how you get on.