Since I upgraded to PHP 5.5.2 with opcache enabled, Dashboard page for single website cannot be opened any more. Other functions like setting and "all websites" page are working well. With opcache disabled, everything works. Other sites on the same server don't have any problem.
php-fpm logs "WARNING: www child 20865 exited on signal 11 (SIGSEGV) after 1275.097800 seconds from start"
Sorry segfaults typically point to a PHP bug.
Was reported in forum as well http://forum.piwik.org/read.php?2,105879
By disable optimization in opcache, I was able to get dashboard working with opcache.
There's nothing syntactically wrong with upgrade.php. The extra '}' sounds like a red herring.
p.s. the _json_encode function no longer exists in the 1.2 branch -- it was provided for php 5.1.x.
See note in forum, there was a bug in the extension which was patched: http://forum.piwik.org/read.php?2,105879,page=1#msg-106058
Moving 1.x closed tickets to 2.0