There should be more conditional logic in the code that checks for potential problems. It seems the software tries to do things even if they arent possible, ( Like write to a directory it cant ). Even the database connection isnt checked... If mysql is down you just get the standard php error... I needed to increase the max number of connections of mysql so that i could login to plesk. It just bombed with a php error. Professional software shouldnt bomb out.. In software this complex you should have more error checking and provide the user with more helpful options. I mean how hard would it be to say "Sorry the configuration of your server is incorrect because of the following reasons". Or "The operation could not be completed because.. Please do this to resolve the issue". All of this is fine if you writing free software. But if you are going to charge for it you need to make it more user friendly. Ive used php software that costs 50 bucks that has better error checking then this.