Installation issues
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.
Broken subpages
Your homepage is working great, but subpages won't open or lead to a server error?
- Make sure that the
.htaccess
file that ships with Kirby is present in your Kirby folder. - Check if
mod_rewrite
is enabled on your server (Apache). - Check if the
.htaccess
file 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 enableAllowOverride all
in your Apache configuration. - Please try setting the
RewriteBase
in the.htaccess
file:
If you run Kirby in a subfolder, make sure to set the RewriteBase according to the name of your subfolder:
URLs to other pages and assets don't use the correct hostname
By default, Kirby detects the base URL of the site automatically using the SERVER_NAME
environment variable that is passed to PHP by your web server. If this variable is set incorrectly, Kirby will also generate incorrect URLs. If it is not set at all, Kirby will fall back to the server's IP address.
The best fix for this issue is to update the configuration of your web server and set a correct SERVER_NAME
.
If you don't have access to this configuration, you can manually set the correct base URL with Kirby's url
option.
Thumbs not generated, Panel not working
If you use PHP's built-in server (not recommended), you have to start it up with Kirby's router:
PHP "Cannot redeclare" error
If you get an error like this:
you are most likely using a library or framework together with Kirby with functions that clash with Kirby's helper function (in particular dump()
or go()
. These come with packages such as:
- Symfony VarDumper (redeclares the
dump()
function) - Swoole Framework (redeclares the
go()
function)
To deactivate one of Kirby's helper functions globally, you need to set a specific constant in your index.php
to false
. The name of the corresponding constant is always KIRBY_HELPER_
+ name of the helper (uppercased). For example:
When you disable a helper function, it won't be registered anymore by Kirby. Make sure not to use the deactivated helper function in your code anymore, but rather use the corresponding class methods.
Weird PHP syntax errors
Please make sure that you use the required PHP version.
Issues with date & time handling
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.
Subpages and files not working
Check your file and folder permissions. Files should be 644, folders 755.
Broken data after saving
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.
Error 500 when trying to access Panel
Make sure that the PHP mb_string
extension is installed/enabled.
More problems?
Don't hesitate to ask questions in the forum or send us an email: support@getkirby.com