The time zone error is a PHP warning, not related to the fatal error you saw later. Turning assert(false) to assert(true) hides an error condition without solving the underlying problem. The most common cause for this is an attempted upgrade on a database that already failed after getting partway through -- if that's the case, please restore your database to the state it was in before you first tried the upgrade before running it again.
If that's not the case, try applying the patches in the recommended patch list
for OJS 2.4.2, restore your database to its 2.3.2-1 state, and run the upgrade again.
Public Knowledge Project Team