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.