Configure PHP
There are numerous ways to package php. The main configuration is done in the so called ini file, e.g. /etc/php.ini. The following hints are meant as a guideline. Your distro's setup may vary.
Safe Mode
Cacti uses external commands, e.g. rrdtool. Thus it is required to have
; Safe Mode ; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode safe_mode = Off
Date and Time
Since PHP Version 5.3, it is advised to define a date.timezone setting to avoid warnings on time/date functions. Use e.g.
; Defines the default timezone used by the date functions ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone = "Europe/Berlin"
Enable Template Import
If you want to allow import of templates, uncomment the following line:
file_uploads = On
Enable exec() Calls
Cacti uses e.g. the exec() call, so please make sure to have
safe_mode = Off
Configure PHP Extensions
Cacti uses the following php extensions
- mysql
- session
- sockets
- xml
- pcre
It is recommended to use
- snmp
as well. As a replacement for php-snmp, you may use net-snmp support (sometimes called net-snmp-utils)
Plugins may use additional PHP modules like
- gd (e.g. used by reportit)
- dom (e.g. used by cli scripts, available with PHP version 5 only)
Using newer php versions, you may find a hint like
;;;; ; Note: packaged extension modules are now loaded via the .ini files ; found in the directory /etc/php.d; these are loaded by default. ;;;;
In this case, there's nothing special to do but to verify, that the relevant .ini files are available in that very directory to reflect PHP support for those modules.
For older versions of PHP, youu may have to edit the php.ini file and add:
extension_dir = /etc/php.d
This will enable PHP to find more configuration directives in that very directory. The /path/to/extension_dir may vary for different linux distros; e.g. extension_dir=/usr/lib/php/modules
Activate the MySQL extension via <extension_dir>/mysql.ini
; Enable mysql extension module extension=mysql.so
Activate the SNMP extension via <extension_dir>/snmp.ini
; Enable snmp extension module extension=snmp.so
If using PHP 4.3.5 or less include the following line. If using 4.3.6 or greater, you should remove this line if present.
session.save_path=/tmp