[http://naviserver.sourceforge.net/ns_logobig.gif] http://bitbucket.org/naviserver/naviserver/%|%Source Code %|% ✸ http://sourceforge.net/project/showfiles.php?group_id=130646%|%Downloads %|% ✸ http://naviserver.sourceforge.net/n/toc.html%|%API Documentation %|% ✸ http://sourceforge.net/mail/?group_id=130646%|%Mailing Lists%|% ✸ http://sourceforge.net/tracker/?group_id=130646&atid=719006%|%Bugs %|% ✸ https://www.ohloh.net/p/naviserver/contributors%|%Developers %|% ---- **Naviserver and PHP5** To compile PHP as a module for Naviserver, you need: - installed Naviserver 4.99 or later - PHP 5.x or later - nsphp source code: https://bitbucket.org/naviserver/nsphp/ It has been tested with Drupal, RoundCube webmail, MailBee webmail, Mambo, Horder/IMP ***Compiling PHP*** $ cd nsphp $ wget http://www.php.net/distributions/php-5.1.4.tar.gz $ tar -xzf php-5.1.4.tar.gz $ mkdir php-5.1.4/sapi/naviserver $ cp nsphp.c config.m4 php.sym php-5.1.4/sapi/naviserver $ cd php-5.1.4 $ ./buildconf --force $ ./configure --with-naviserver $ make install $ cp libs/libphp5.so /usr/local/ns/bin ***Alternatively, to build everything just type*** $ make build and it will download and build libphp5.so and install it. By default it will install it into /usr/local/php and will copy libphp5.so into /usr/local/ns/bin ***Changing nsd.tcl*** ***Enabling PHP*** Then enable the PHP module: ns_section "ns/server/${server}/modules" ns_param nsphp ${home}/bin/libphp5.so ***New section*** Add a new section to pass options to PHP (required): The 'map' command will cause Naviserver to pass all requests to *.php to the PHP module (can be specified multiple times). Example: ns_section "ns/server/${server}/module/nsphp" ns_param map *.php ns_param map *.php4 ***Calling PHP scripts from Tcl*** ns_php version Return PHP version ns_php eval string Evaluate PHP expression and return result ns_php evalfile filename Evaluate spacified PHP file ns_php call function Call PHP function and return result ***Calling Tcl scripts from PHP*** ns_eval(Tcl_script); Evaluate Tcl code from PHP script and return result as string ns_log(severity,string); Put string in the server log, severity is one of 'Notice', 'Warning', 'Error', 'Debug', 'Fatal' ***Naviserver, PHP5 and Zend Optimizer*** The Zend Optimizer is an application for increasing the performance of PHP scripts. It is also necessary if you want to run PHP scripts where the source is encoded with the Zend Guard software. Scripts encoded with the latest Zend Guard Software release 4 need the Zend Optimizer release 3.x. The installation of the Zend Optimizer adds some lines to your PHP.ini config file to tell PHP to load the required Optimizer binaries. Once loaded you are also able to run Zend Guard encoded scripts with Naviserver. <>Category NaviServer