HOWTO build the PHP rrdtool extension?

This HOWTO is based on SL5, RHEL5, CentOS 5. (rrdtool-1.2.23-1.el5.rf.x86_64, rrdtool-1.2.23-1.el5.rf.i386)

STEP 1 : Go to http://oss.oetiker.ch/rrdtool/pub/contrib/ to get the PHP rrdtool source : php_rrdtool.tar.gz

STEP 2 : Extract the php_rrdtool.tar.gz file into php extensions directory(/usr/include/php/ext/). Please use the following commands :

# tar zxvf php_rrdtool.tar.gz
# mv rrdtool /usr/include/php/ext/

STEP 3 : Generate configure files in order to build the PHP rrdtool. In rrdtool directory, run phpize. Please follow the below commands:

# cd /usr/include/php/ext/rrdtool
# phpize
# ./configure --with-php-config=/usr/bin/php-config --with-rrdtool=/usr

Notes : Make sure you have librrd.so file in library. If you don’t have that file, you can do a symbol link as bellow :

# ln -s /usr/lib/librrd.so.2 /usr/lib/librrd.so

STEP 4 : Build the PHP rrdtool. Just use make and make install commands.

# make
/bin/sh /usr/include/php/ext/rrdtool/libtool --mode=install cp ./rrdtool.la /usr/include/php/ext/rrdtool/modules
cp ./.libs/rrdtool.so /usr/include/php/ext/rrdtool/modules/rrdtool.so
cp ./.libs/rrdtool.lai /usr/include/php/ext/rrdtool/modules/rrdtool.la
PATH="$PATH:/sbin" ldconfig -n /usr/include/php/ext/rrdtool/modules
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/include/php/ext/rrdtool/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------

Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).

# make install
Installing shared extensions:     /usr/lib64/php/modules/

STEP 5 : Configure rrdtool.so in php configuration file.

# cd /etc/php.d/
# vi rrdtool.ini
; Enable rrdtool extension module
extension=rrdtool.so

STEP 6 : Restart apache web services.

# service httpd restart

After compiling and installing rrdtool you should be able to use the phpinfo() function to list the installed extensions.


You should see rrdtool in phpinfo page.

Comments are closed.