8. Troubleshooting

[Tip]Check error logs

Check the error log of your web server. Also, check that errror reporting is switched on in php.ini

Trouble getting Beltane to run is usually related to access problems. Potential problems are:

filesystem permissions

Check under which UID Beltane is executed, and make sure that filesystem permissions are correct.

helper programs

Beltane uses some helper programs written in C. One purpose of this is to allow you (completely optionally) to switch the effective user by setting these helper programs SUID.

Please note that these helper programs can only be used by one (compiled-in) UID, set with the --with-user option. Obviously this must be the UID under which the Beltane PHP scripts will run.

open_basedir

PHP will refuse to open files if open_basedir is in effect, and the file is not located under one of the directories listed in the open_basedir path.

safe mode

If safe mode is in effect, you may want to take care that Beltanes C helper programs are in a directory listed in safe_mode_exec_dir.

Also, remember that safe mode does a UID (or GID, with safe_mode_gid) check when opening files.

8.1. Other potential problems

SelectAll + Update/Confirm does not work

With PHP 5.3+, this happens because of the new PHP "max_iput_vars" restriction. You need to edit php.ini and increase this limit to a generous value (on the order of 10,000 or more).

Beltane top menu does not work (no drop-down menus)

This usually happens because the PHP POSIX functions are not available and thus the frame holding the menu is not loaded completely as PHP aborts midway.

On several Linux distributions, the PHP POSIX functions are in a separate package, usually named php-process or php-posix. You need to install that package to fix this problem.

No client reports in database

Logging to a relational database (required for beltane) only works if both server and client are using XML for logging. Clients not logging in XML format will result in missing client data.

File timestamps do not get updated

Using the option 'UseLocalTime = yes' for clients does not work with Beltane. Specifically, updates of file timestamps in the baseline database(s) will not work correctly. Beltane is designed to be able to handle clients in different time zones, and thus expects that GMT is used for file timestamps.

No database access

Problems so far encountered include: no database support in PHP (missing PHP module), wrong password/userid, or wrong hostname, e.g. left over from a previous test installation. Also, loading a PHP module twice in the Apache configuration may cause problems (see Section 8.2, “Obscure problems” below).

PHP resource limits

See Section 9.2, “PHP process runs into resource limits” for help.

8.2. Obscure problems

Module loaded twice in Apache configuration

Loading a PHP module twice in the Apache configuration (e.g. having twice the directive 'extension=pgsql.so') may register its php functions twice. As a result, the functions are callable, but always fail (discovered by A. Reid).