We try our best to make the installation of Kirby as effortless as possible, but with multiple server setups and PHP versions, there's unfortunately always space for problems.
Your homepage is working great, but subpages won't open or lead to a server error?
- Make sure that the
.htaccessfile that ships with Kirby is present in your Kirby folder.
- Check if
mod_rewriteis enabled on your server (Apache).
- Check if the
.htaccessfile gets loaded. You can test this by putting some nonsense characters into your
.htaccess. If this triggers an "Internal Server Error", the file gets loaded. Otherwise, you need to enable
AllowOverride allin your Apache configuration.
- Please try setting the
If you run Kirby in a subfolder, make sure to set the RewriteBase according to the name of your subfolder:
If you use PHP's built-in server (not recommended), you have to start it up with Kirby's router:
php -S localhost:8000 kirby/router.php
If you get an error like this:
PHP Fatal error: Cannot redeclare xxx() in /path/to/kirby/config/helpers.php on line xxx
you are most likely using a library or framework together with Kirby that is unfortunately not supported. We are aware of the following libraries being incompatible with Kirby:
- Symfony VarDumper (redeclares the
- Swoole Framework (redeclares the
Because two libraries cannot define the same functions, you can unfortunately not use any of these libraries/frameworks together with Kirby.
If you didn't install any other library/framework on purpose, please verify if they come with one of the plugins you are using or if they are provided by your hosting provider. In any case Kirby will only work if the conflicting libraries are disabled/uninstalled.
We may be able to fix this issue in the future by namespacing the helper functions that ship with Kirby, but this is unfortunately something that cannot be implemented in a backwards-compatible way. Sorry for the inconvenience!
Please make sure that you use the required PHP version.
Check if you have set the correct timezone in your
php.ini file with the
date.timezone option. If you don't have access to the
php.ini file, check if your hosting provider allows changing this in their web interface, otherwise contact your hosting provider.
Check your file and folder permissions. Files should be 644, folders 755.
Your content files seem to be corrupted after you tried to save a page in the Panel? Make sure the PHP
mb_string extension is installed on your server. A missing extension leads to broken data in text files.
Make sure that the PHP
mb_string extension is installed/enabled.