PHParser 1.1.4 Installation Instructions
Requirements
- PHP 4.0 and up compiled as CGI. Neither Apache module nor the CLI version coming with PHP 4.3.0 will work. You probably will compile PHP from the source on Unix platforms. Older RedHat PHP RPM packages don't contain PHP CGI. But RHEL 4 and Linux distributions based on RHEL4, such as WhiteBox and CentOS, do contain PHP CGI in the RPM. For Windows, you can download and use any of the Windows Binaries.
- Your PHP CGI must be compiled with
--enable-force-cgi-redirect
. - In your PHP configuration file that affect PHP CGI (php-cgi.ini or php.cgi if the former doesn't exist), the
doc_root
directive MUST be empty. - You might need to modify the PHPath line in PHParser.py to specify the full path of the PHP CGI executable. For example, the default value for Unix
/usr/bin/php
is the location of the PHP CGI installed by RedHat RPM. - Alternatively, you can create a symbol link
/usr/bin/php
pointing to where your PHP CGI's really located to avoid modifying the product source. Thanks to Michael W. Dietrich, who discovered this. - If you want to turn HTTP authentication support on, you need to modify PHParser.py to set
EXPOSE_HTTP_AHTHORIZATION=1
. But doing this may tell the PHP script your ZMI username and password. Don't do it if you don't trust the script to be parsed or gatewayed. - PHParser and PHPGateway have always been compatible with
Virtual Host Monster
product on a standalone Zope server. Now, with the help of Maric Michaud, Zope server behind Apache rewrite rules are also supported!
Installation
Unix:
cd ZOPE_HOME/lib/python/Products tar -zxvf /path/to/downloaded/PHParser-x.y.z.tar.gz (Optinoal modification to the source files) Restart Zope
Windows:
unzip PHParser-x.y.z.tar.gz to ZOPE_HOME\lib\python\Products (Optinoal modification to the source files) Restart Zope
User Modifitable Options:
PHParser.py:
* PHPath Where your PHP CGI program is located. Default is "c:\\php\\php.exe" for Win32 and "/usr/bin/php" for Unix. * ENVPath Where your 'env' program is located. Default is 'env'. (Unix only) * EXPOSE_HTTP_AUTHORIZATION If the PHP script to be parsed depends on HTTP authentication information, you need to change it to '1'. Default is '0'.
PHPGateway.py:
* DEFAULTPAGES A list of default pages to search if the request truns out to be a directory. Default is ['index.html', 'index.htm', 'default.htm', 'index.php', 'index.php3'] * PHPEXT A list of file extensions that are to be parsed as PHP. Other files are served as static contents. Defalult is ['.php', '.php3']