Blank page / Error 500
It might happen that you upload Sitecake in the folder with your website and hit domain.com/sitecake.php and ... blank screen with Error 500 appears.
This can happen for a number of reasons, so we created a checklist to go through. It's ordered from obvious to obscure fail reasons.
1. Do you have an index.html page?
Sitecake needs to know where to start, which means you need to have either index.html or index.php page.
2. Is your HTML valid?
Sitecake will not work if you haven’t closed your HTML tags properly. Validate HTML with W3C Validator or Validity Chrome plugin.
3. Check if you uploaded all files from the Sitecake zip
Sometimes it happens that FTP software fails to upload all files. Uploading zip and extracting it on the server is the best way to do this part.
4. Is your basic server configuration ok?
This one is easy to check. Go to
domain.com/sitecake/2.4.10/config/requirements.php
NOTE: In case your version is other then 2.4.10 just put another version number there.
You should get “Basic server configuration needed for Sitecake to run is OK” response. If you get an error instead, try to fix it and check URL above again and again until everything is okay.
For Sitecake versions prior to 2.4.8 check
domain.com/sitecake/ 2.4.7/config/check.php
5. Too many php files, libraries, folders with unnecessary stuff
Sitecake is simple CMS for simple, several page websites. Still if you want to manage complex web experiences make sure to use .scignore to exclude files and folders from processing.
6. Too many, too large images
If you have too many too large images (straight from the camera) it may take too much time for Sitecake to process them. This is php max execution time issue and you can read more about this below in a log section.
Optimize images with online services like TinyPNG. Please do not have hundreds of images on a single page.
7. Don't mix Wordpress blog and Sitecake website
Generally, do not manage a website with two different CMSs at the same time.
If you use Wordpress to manage website blog and Sitecake for the rest of the pages, do not keep everything in the same folder and expect things to work. Sitecake will try to process Wordpress php files and fail.
This might work only if you keep Worpress blog files in the separate blog/ folder. Plus, you need to tell Sitecake to ignore blog/ folder through .scignore file. Read more here.
8. Do not keep more than one website in the Sitecake root folder
If you have several websites in the same root, Sitecake will try to manage them all and possibly fail. For example, this situation:
old-website/
my-wifes-website/
blog/
css/
images/
sitecake/
index.html
sitecake.php
Remove old-website/, my-wifes-website/ and blog/ and keep in the root just the website you want to manage with Sitecake.
9. Permissions issue
Sitecake is php CMS and it needs permissions to read, write and execute. Generally 644 for files and 755 for folders works out of the box. The example below works fine:
10. If everything else fails open sitecake.log
Sitecake logs all errors in a log file. Find it here:
sitecake-temp//logs/sitecake.log
Some of most often errors are described here:
Maximum execution time of <X> seconds exceeded
This can happen for several reasons
- There are too many files, pages, php libraries, etc. Solution is to use .scignore file to tell Sitecake which files and folders to ignore.
- Images are too big and there are many of them. Solution is to optimize your images to fix this.
- There are too many sc-content zones in the HTML page. Some people create hundreds of sc-content zones per page. Don't do that. Group content in several editable zones.
- Server is too slow. It happens rarely but it happens. Change the hosting.
General (lazy) solution is to simply increase maximum execution time. There are several ways to do it, just google “PHP Maximum execution time exceeded”
Allowed memory size of <X> bytes exhausted
This can be caused by the same reasons from above, so either fix issus or increase memory limit.
Open_basedir restriction in effect (when you can't pass login)
Try to use some other supported session handler and set it in ‘session.save_handler’ configuration (check for sitecake/config.php file or create it by copying from sitecake/<your-sc-version>/config/default.php. Just make sure to rename file to config.php after copying). Also, leave ‘files’ session handler and set ‘save_path’ option inside ‘session.options’ to some dir that is readable/writable by php user (could be a subdir of site root dir).
Further help
If you've checked everything from above and nothing works, search for help on Sitecake forum or send us a ticket.