My local Silverstripe test site decided to corrupt itself recently. I am running the latest WAMPServer 2.0i (PHP 5.3) on a Windows 7 Pro machine. It is a very basic install with Blog and Forum disabled and absolutely no external modules. I got the following errors appearing:
Parse error: parse error, expecting `T_STRING' in C:\wamp\www\ss\sapphire\core\ManifestBuilder.php(236) : eval()'d code on line 1
I decided to try and download 2.4 and install that. Even more errors:
Parse error: parse error, expecting `T_STRING' in C:\wamp\www\ss\sapphire\core\ManifestBuilder.php(236) : eval()'d code on line 1
Warning: $project isn't set in C:\wamp\www\ss\sapphire\core\ManifestBuilder.php on line 259
Warning: SS_Report::register(): 'SideReport_EmptyPages' is not a subclass of SS_Report in C:\wamp\www\ss\cms\code\Report.php on line 301
Warning: SS_Report::register(): 'SideReport_RecentlyEdited' is not a subclass of SS_Report in C:\wamp\www\ss\cms\code\Report.php on line 301
Warning: SS_Report::register(): 'SideReport_ToDo' is not a subclass of SS_Report in C:\wamp\www\ss\cms\code\Report.php on line 301
Fatal error: Class 'Email' not found in C:\wamp\www\ss\sapphire\security\Member.php on line 1547
I haven't changed any of those files. The error handling in Silverstripe is a disgrace. Sometimes a dodgy line of code can make the entire site display a general "there has been an error" message on a live site. This ManifestBuilder file gives out a next to useless message - why can't it say what the problem is? Why does a module that comes with the clean 2.4 install (SS_Report) complain so much when I haven't touched a single line of code in the cms/sapphire directories?
I also agree with others on here saying the upgrade method is abysmal compared to many other systems. It should be more like Wordpress where you can just click an Upgrade button and you're done.