Go to file
Andrei Zmievski c7100c4a1a Added natural comparison/sorting routines using code from Martin Pool.
@- Added natural comparison/sorting routines strnatcmp(), strnatcasecmp(),
@  natsort(), and natcasesort(). These are useful for comparing and sorting
@  strings that contain numbers. Based on the code from Martin Pool
@  <mbp@humbug.org.au>. See http://www.linuxcare.com.au/projects/natsort/
@  for more info on natural sorting. (Andrei)
2000-04-12 19:39:02 +00:00
build Remove trailing slash 2000-03-30 23:50:15 +00:00
ext Added natural comparison/sorting routines using code from Martin Pool. 2000-04-12 19:39:02 +00:00
main - Turn off VIRTUAL_DIR by default 2000-04-11 17:00:21 +00:00
pear *** empty log message *** 2000-03-27 16:35:01 +00:00
regex Integration of -ng changes. Changes: 1999-12-30 02:59:53 +00:00
sapi @- Zeus Webserver support (version 3.3.6+) for ISAPI 2000-04-12 09:48:26 +00:00
scripts Decent configure speedup. Makefiles are now generated only for the 1999-09-29 15:17:02 +00:00
tests Object overloading API changed slightly (llist is now a pointer) 2000-04-10 20:21:02 +00:00
TSRM * Include <stddef.h> for NULL 2000-03-30 23:35:26 +00:00
win32 - One more fopen -> PHP_FOPEN patch 2000-04-04 20:06:45 +00:00
Zend *** empty log message *** 2000-04-12 00:50:21 +00:00
acconfig.h.in Nuke DEBUG. 2000-03-11 22:22:31 +00:00
acinclude.m4 Fix the HPUX 10.20 check for non-standard reentrant time functions 2000-04-01 16:00:34 +00:00
apidoc-zend.txt - Move more stuff to ALLOC_ZVAL(). We need to add those FREE_ZVAL()'s now. 1999-12-24 17:39:27 +00:00
apidoc.txt I think that is the preferred way as of now 1999-05-28 18:51:51 +00:00
build-defs.h.in - Don't define DEBUG anymore. Everyone should use PHP_DEBUG. 2000-03-11 20:48:49 +00:00
buildconf Integration of -ng changes. Changes: 1999-12-30 02:59:53 +00:00
calendar.mak PHP 4.0 1999-04-07 21:05:13 +00:00
ChangeLog ChangeLog update 2000-03-21 02:09:09 +00:00
CODING_STANDARDS PHP 4.0 1999-04-07 21:05:13 +00:00
config.guess backed out some stuff that got committed by accident & broke things:(! 2000-02-11 19:17:57 +00:00
config.sub backed out some stuff that got committed by accident & broke things:(! 2000-02-11 19:17:57 +00:00
configure.in Up version number to 4.0RC2-dev. (4.0-dev looks too general for now.) 2000-04-01 14:39:14 +00:00
CREDITS * Turn on debug by default 1999-07-17 16:43:11 +00:00
crypt.mak PHP 4.0 1999-04-07 21:05:13 +00:00
cvsclean "User interface" for removing all files which are ignored by cvs 2000-03-06 16:02:01 +00:00
dbase.mak PHP 4.0 1999-04-07 21:05:13 +00:00
dbm.mak PHP 4.0 1999-04-07 21:05:13 +00:00
dlist.c libzend -> Zend 1999-12-19 21:02:54 +00:00
dlist.h Moving dlist stuff into core. 1999-07-19 18:58:44 +00:00
filepro.mak PHP 4.0 1999-04-07 21:05:13 +00:00
footer PHP 4.0 1999-04-07 21:05:13 +00:00
FUNCTION_LIST.txt PHP 4.0 1999-04-07 21:05:13 +00:00
gd.mak PHP 4.0 1999-04-07 21:05:13 +00:00
genfiles Let genfiles work in the new environment 1999-12-30 03:13:21 +00:00
genif.sh Revamp session's config.m4 and reenable support for mm. The shared memory 2000-03-26 02:47:00 +00:00
header Happy Y2K patch! Happy new year (or the new millennium, depending on whether 2000-01-01 01:32:05 +00:00
hyperwave.mak PHP 4.0 1999-04-07 21:05:13 +00:00
imap4.mak PHP 4.0 1999-04-07 21:05:13 +00:00
INSTALL @- Zeus Webserver support (version 3.3.6+) for ISAPI 2000-04-12 09:48:26 +00:00
ldap.mak PHP 4.0 1999-04-07 21:05:13 +00:00
LICENSE - Change Zend license version 2000-03-13 17:08:18 +00:00
ltconfig Cleanup 2000-03-19 12:09:01 +00:00
ltmain.sh Upgrade to libtool 1.3.4 2000-03-11 12:33:10 +00:00
main.h Get the license right... (this won't make it to RC1 of B4) 2000-02-19 23:21:46 +00:00
MAINTAINERS Mention CyberCash. 1999-12-07 02:49:03 +00:00
makeall.bat PHP 4.0 1999-04-07 21:05:13 +00:00
makedist Use compression for makedist 2000-03-26 19:26:09 +00:00
Makefile.in - Make php_virtual_cwd compile 2000-04-01 18:11:08 +00:00
makeparser.bat PHP 4.0 1999-04-07 21:05:13 +00:00
makerpm Added makerpm by Samuel Liddicott <sam@campbellsci.co.uk> 1999-12-10 13:00:13 +00:00
MODULES_STATUS adding mcal and gettext to MODULES_STATUS 2000-04-04 00:40:48 +00:00
msql1.mak PHP 4.0 1999-04-07 21:05:13 +00:00
msql.mak PHP 4.0 1999-04-07 21:05:13 +00:00
mtparser.bat PHP 4.0 1999-04-07 21:05:13 +00:00
mysql.mak PHP 4.0 1999-04-07 21:05:13 +00:00
NEWS something with the @ commit stuff *is* broken. 2000-04-12 15:51:23 +00:00
php4.dsp Remove debug runtime libraries from Release builds 2000-03-27 00:18:59 +00:00
php4.dsw Several fixes, plus remove bindlib_w32 (it's more trouble than it's worth) 2000-03-31 19:46:35 +00:00
php4.gif temporary icon for RPMs until Colin gets back and can make us a spiffy new one 1999-07-24 19:00:06 +00:00
php4.spec.in added workaround for Solaris PIC weirdness. 1999-07-24 19:02:38 +00:00
php4dll.dsp Several fixes, plus remove bindlib_w32 (it's more trouble than it's worth) 2000-03-31 19:46:35 +00:00
php4dllts.dsp - Fix 2000-04-05 20:45:49 +00:00
php4ext.dsw * Add a new workspace for dynamic PHP extensions. 1999-06-04 10:45:54 +00:00
php4ts.dsp - Fix Win32 build in Release_TS* modes 2000-02-24 15:56:48 +00:00
php4ts.dsw Several fixes, plus remove bindlib_w32 (it's more trouble than it's worth) 2000-03-31 19:46:35 +00:00
php_custom_build.mak PHP 4.0 1999-04-07 21:05:13 +00:00
php.ini-dist As it turns out, there are some browsers that can't handle default 2000-03-20 08:19:51 +00:00
php.ini-optimized *** empty log message *** 2000-04-07 19:55:05 +00:00
php.ini-recommended *** empty log message *** 2000-04-07 19:55:05 +00:00
README-BCMATH Handle BCMath 1999-07-17 10:59:22 +00:00
README.CVS-RULES Added notice about LXR and Bonsai. 1999-10-11 20:45:03 +00:00
README.QNX PHP 4.0 1999-04-07 21:05:13 +00:00
README.Zeus @- Zeus Webserver support (version 3.3.6+) for ISAPI 2000-04-12 09:48:26 +00:00
snapshot Integration of -ng changes. Changes: 1999-12-30 02:59:53 +00:00
snmp.mak PHP 4.0 1999-04-07 21:05:13 +00:00
stamp-h.in # Fix ColorResolve bogosity 1999-11-21 04:07:56 +00:00
strtok_r.c Get Win32 to compile again 1999-11-27 00:48:50 +00:00
stub.c * archive-based convenience libraries completely replaced 1999-10-04 15:18:26 +00:00
TODO One off the list. 2000-04-11 17:38:48 +00:00
TODO-LeftOver Some ChangeLog surgery. 1999-10-07 19:53:33 +00:00
zlib.mak PHP 4.0 1999-04-07 21:05:13 +00:00

Using PHP4 with the Zeus Web Server
-----------------------------------

Zeus fully supports running PHP in combination with our webserver. A
significant improvement in PHP 4 is that you can now run PHP as an
ISAPI module, giving great performance benefits over traditional CGI
code.

Note that you will need to be running at least version 3.3.6 of the
webserver. If you are running an earlier version, please see our
website (http://www.zeus.com) for upgrade instructions.


To build the ISAPI version of PHP, start the configuration with:

./configure --with-zeus=/usr/local/zeus

Obviously, replace /usr/local/zeus with the location of where you have
installed Zeus on your machine. For PHP to build successfully, you
need to have 3.3.6 already installed, because the code relies on the
presence of header files provided with the latest version.

You may have to adjust the environment variable LDFLAGS and EXTRA_LIBS
in order to link in extra libraries. This depends on the platform on
which you are building and also on the compiler used (see below). A
standard GNU/Linux install with GCC should build fine with no changes.


Configuring the webserver
-------------------------

After running 'make' and 'make install', you will have a 'libphp4.so'
file. Copy this file into a directory reserved for ISAPI
binaries. Now, perform the following steps for each virtual server
that you wish to run PHP on:

1) On the Admin server, go to 'edit server->path mapping'
2) Add an alias to the directory with libphp4.so in it, mapped to
   /isapi/ (or a location of your choice). Make sure you set the alias
   type to ISAPI.
3) Click 'update'
4) Add a handler for file extension 'php' to be run by /isapi/libphp4.so
5) Click 'update', then go back to the previous page.
6) Click on the 'module configuration' button, ensure that ISAPI
   support is ticked.
7) Click on the ISAPI link. At the bottom of the page, click the
   checkbox for running ISAPI extensions 'out of process'.
8) Click 'update'. Then restart the virtual server. Done!


Troubleshooting
---------------

*) Why does my PHP library fail to load?

After configuring Zeus, if you get a '502 Bad Gatway' error when
accessing a PHP page, there are problems loading the PHP
library. Check the error log ($ZEUSHOME/web/log/errors) for errors.

Failing to load the PHP ISAPI module is likely to be due to unresolved
symbols in the module. A way to check for this is to visit our support
page at http://support.zeus.com/faq/entries/isapi_error.html and run
the program there on your libphp4.so. It will list any unresolved
symbols.

*) My libphp4.so has unresolved symbols. How do I fix this?

You must ensure that the PHP build process links in the appropriate
libraries that contain these symbols! The libraries required will
depend on the platform you are running PHP on.

You may need to set one or two environment variables before running
the 'configure' program to set up PHP; LDFLAGS and EXTRA_LIBS. Make
sure that you also export these variables to the build process.
(Type 'export LDFLAGS EXTRA_LIBS' in the shell to do this.)

Specific examples:

Solaris + gcc: Set LDFLAGS to
'-L/usr/local/egcs/lib/gcc-lib/sparc-sun-solaris2.7/egcs-2.91.66
 -L/usr/local/egcs/lib' (your paths may vary)
EXTRA_LIBS should be '-lgcc'

FreeBSD 4.0 + gcc: Set EXTRA_LIBS to '-lc_r_p -lgcc'

Linux/Alpha: Set EXTRA_LIBS to '-lstdc++-3-libc6.1-2-2.10.0'
             (change as appropriate to the stdc++ in /usr/lib)


For more information and help with Zeus, please visit our website:
http://www.zeus.com