Suggested PHP Configuration
Configuration Documentation

# Suggested PHP Configuration

This is a suggested php.ini config for running phpGroupWare 0.9.16 on php4. It is roughly in the order of the paramters in you php.ini file. These recommendations are based on feedback from users and developers.

## Resources

    max_execution_time = 90

This allows for encoding/decoding large file attachments on slower machines and other complex functions.

    memory_limit = 20M

At least this value should help with more complex operations.

## Errors

    error_reporting = E_ALL & ~E_NOTICE

Having this set to E_ALL, will cause all types of problems if left to display on the screen. E_NOTICE are non-fatal errors such as undefined variable etc. Having this set to E_ALL only will dramatically increase the size of your log files if you log errors.

    display_errors = Off

This can cause header output problems if left on. They are better stored in your log file and that way you have a record of any problems.

    log_errors = On

See above.

## Databases

Replace [rdbms] with the data module you are using

    [dbms].allow_persistent = Of

Only turn this option on if you want to use persistent databse connections. Generally persistent connections are only of benefit if you are using a highly tuned apache install with a small user base.

## File Uploads

    file_uploads = On

If you want to use email, filemanager, infolog or any apps that upload files this must be set to on.

    upload_max_filesize = 5M

At least this. This will allow for larger email attachments and phpwebhosting files. Use filesize * 4 = memory_limit to allow for base64 encodes.

## PHP4 Sessions

    session.save_path = /tmp

Your httpd must be able to read and write to this directory, if you intend to use php4 sessions.

    session.gc_maxlifetime = 7200

Set this to what you want to be your session time out limit. It is in second so set it to 3600 if you want it to one hour. The default is 1440 or 24mins, which is generally too short.

## Globals

    register_globals = Off

phpGroupWare 0.9.16 should work with this set to Off. If you find this caused problems, please log them on savannah.

## Directories

    open_basedir = "/path/to/phpgroupware:/path/to/phpgw-vfs:/path/to/temp"

This directive will prevent phpGroupWare from accessing any files outside of the directories specified. AFAIK all symlinks are resolved.

For more information please refer to the PHP website.