Contribution widget requires time zone to be set in Date.php (or at least someplace not set in a new install)
On a new Drupal install of CiviCRM 5.5.1 could not get contribution widget to work. It required adding a line to Date.php at /public_html/sites/all/modules/civicrm/CRM/Utils/Date.php (used date_default_timezone_set("America/Chicago");
at top of file). This would get overwritten if update CiviCRM, so not a good solution!
php.ini already showing timezone set:
**date**
date/time support enabled
"Olson" Timezone Database Version 2016.10
Timezone Database internal
Default timezone America/Chicago
Directive Local Value Master Value
date.default_latitude 31.7667 31.7667
date.default_longitude 35.2333 35.2333
date.sunrise_zenith 90.583333 90.583333
date.sunset_zenith 90.583333 90.583333
date.timezone America/Chicago no value
and Drupal also set in the same way at /admin/config/regional/settings
Rather obscure that this makes Contribution Widget show only "placeholder" text and get javascript errors.
Also, as stated in issue 20, can't put Contribution Widget on the contribution page itself, and putting the progress thermometer on this page is a common need. (Work-around I used was a Drupal block with a special version suppressing display in CSS of the description, etc., so not totally redundant.)