Cacti (home)ForumsDocumentation

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





Personal Tools