Level: Basic

Blank page or a “500” error

A blank page indicates that two things happened:

  • A fatal error occured while creating the web page.
  • Your web-server (e.g. apache, nginx, IIS) is configured not to display fatal errors on the screen.

Typical causes of fatal errors are:

  • File permissions. webtrees needs to be able to write to all the files and subfolders in the folder /data/
  • Running out of disk space. You can check if this is a problem by uploading (and then deleting) a large file to the server using FTP.
  • Running out of CPU time. You can identify these because the error does not appear until the time limit is reached.
  • Running out of memory. This can be caused by program errors or by trying to process a lot of data at once. For example, trying to list many thousand individuals at the same time.
  • Incompatible software. For example, using PHP 7.3 with software that was designed for PHP 7.4.
  • Trying to use a PHP function that has been blocked by your web-host. For example, the function needed to send mail can be blocked.

Generally when a fatal error occurs, the web-server will write a detailed error message to a log file. You need to find this error log. Without it, it will be very difficult to fix the problem.

Note that your web-server will produce two log files. One is the access log and the other is the error log. You want the error log.

If you cannot find your error log, you should contact your webhosting provider for assistance.

Alternatively, if your server uses .htaccess files, try adding the following lines:

php_flag display_errors on
php_flag display_startup_errors on
php_value error_reporting -1

ERROR 2: ini_set() has been disabled for security reasons

Disabling ini_set() is not uncommon on some shared servers, but not truly necessary in kiwitrees. It is used in various places to enable admins (only) to adjust things like php memory and time-out settings among others. This error usually appears at the final step of the kiwitrees setup process.

If you web host provides a management tool such as cPanel you can enable functions like this.

Look where you set or change the version of PHP (PHP -> Select version) and then under version what plugins to enable. Then Under “Options” find “disable functions”. Remove ini_set from that disabled functions list.

How do I clear my browser cache?

What exactly is cache?

Your browser’s cache, pronounced cash, is a collection of web pages stored on your hard drive or in your phone/tablet storage. The cache includes the text, images, and most other media contained on web pages that you’ve visited.

Having a local copy of a web page makes for quick loading on your next visit because your computer or mobile device doesn’t have to download it from the internet again. Over time, however, the cache may take up a big chunk of your computer’s storage.

Why do you have to clear cache?

You don’t have to clear the cache as a regular part of computer or smartphone maintenance. However, there are some good reasons to clear cache:

Clearing your cache forces your browser to retrieve the newest copy available from the website, something that should happen automatically but sometimes does not.
You’re experiencing issues such as 404 errors or 502 errors (among others) that may indicate your browser’s cache is corrupted.
Malware is another reason to delete the browser cache. It can be dropped in the cache without you knowing or alongside program installations, so clearing the entire cache can delete malicious files. (It also helps to have antivirus software.)
Another reason to delete browser cache data is to free up space on your hard drive. Over time, the cache can grow to a huge size; clearing it can recover some of that previously used space.

Basic process to clear your cache.

  • Clearing cache can fix some browsing problems, free up space, and remove saved versions of visited pages for privacy reasons.
  • Most browsers let you clear cache quickly via Ctrl+Shift+Del (Windows) or Command+Shift+Delete (Mac).
  • Otherwise, try your browser’s Settings, Privacy, or Advanced options.

Specifics for different browsers and operating systems.

There are many different web browser / operating system combinations. Far too many to maintain a detailed explanation for how to clear caches for every one here. Instead, below are a few links to other sites that specialise in such information that might help you:

  1. RefreshYourCache.com
  2. Kinsta – How to Clear Cache for All Major Browsers
  3. Lifewire – How to Clear Internet Cache in Every Major Browser
  4. DigitalTrends – How to clear your browser cache

I forgot my password and can’t log in

There are several ways to reset your password.

  1. Is there another kiwitrees administrator on your site?
    Ask them to reset your password from the kiwitrees control panel.
  2. Is your server configured to send an email?
    The login page has a “Request new password” link. It will send a new password to you by email.
  3. Can you access your database? (e.g. using PhpMyAdmin)
    Find the table kt_user and the row for your user account. Set the password field to the value $1$VDnz7rNf$nDgfF52rgdz89uTSJ1sa41. This is the encrypted form of the text “password”.
  4. Can you access the files on your webserver? (e.g. using FTP / SFTP)
    Create a text file called password.php with the following content. Copy it to the kiwitrees folder on your server. Replace each occurrence of XXXXX as appropriate.
<?php
// These are your database connection settings.
// You can find them on your server in the file data/config.ini.php


$DBHOST = 'XXXXX';
$DBPORT = 'XXXXX';
$DBNAME = 'XXXXX';
$DBUSER = 'XXXXX';
$DBPASS = 'XXXXX';
$TBLPFX = 'XXXXX';
// This is the email address of the account you want to change
$EMAIL = 'XXXXX';

// This is the new password
$PASSWD = 'XXXXX';

$pdo = new PDO(
(substr($DBHOST, 0, 1) === '/' ?
"mysql:unix_socket={$DBHOST};dbname={$DBNAME}" :
"mysql:host={$DBHOST};dbname={$DBNAME};port={$DBPORT}"
), $DBUSER, $DBPASS);
$sql = 'UPDATE `' . $TBLPFX . 'user` SET password = :password WHERE email = :email';
$stmt = $pdo-&gt;prepare($sql);
$stmt->execute(array('password' => crypt($PASSWD, ''), 'email' => $EMAIL));
if ($stmt->rowCount() > 0) {
echo 'SUCCESS - The user account was updated.';
} else {
  echo 'ERROR - The user account was not found or not updated.';
}

Copy the file to the web-server and run it by typing the URL into your browser. e.g. http://your-site.com/path-to-kiwitrees/password.php