Go to file
Sascha Schumann df273c9d01 Hopefully last round of fixing varargs use.
We don't need to create the log message twice, and by doing it only
once we also avoid the orig_args trap.
2000-09-01 09:54:32 +00:00
build * Added "test" make target so you can do "make test" in any directory. 2000-08-29 09:12:44 +00:00
ext Solaris/x86 insists of having a large buffer for storing the result of 2000-09-01 09:38:19 +00:00
main Hopefully last round of fixing varargs use. 2000-09-01 09:54:32 +00:00
pear All (three) current DB tests pass. 2000-08-29 09:10:44 +00:00
regex Remove trailing empty lines 2000-05-01 22:38:42 +00:00
sapi Set SG(request_info).path_translated to the path of the main script. 2000-08-29 15:09:44 +00:00
scripts These scripts are not in use anymore. RIP. 2000-08-24 13:26:58 +00:00
tests * all tests should pass now (expect for the interbase stuff that I haven't 2000-08-31 22:21:47 +00:00
TSRM - Support for always building TSRM into PHP 2000-08-31 23:44:10 +00:00
win32 updated with db and mhash 2000-08-30 21:14:17 +00:00
Zend - This should fix the performance problem with Release builds 2000-08-31 23:49:36 +00:00
acconfig.h.in Wipe out acconfig.h.in and rewrite some checks to use PHP_ARG_ENABLE. 2000-06-08 06:14:58 +00:00
acinclude.m4 Clean up the mess WRT rebuilding a limited set of files. 2000-07-26 14:53:54 +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 Changed lots of PHP 3 licence headers to PHP 4, mainly in .h files. 2000-07-24 01:40:02 +00:00
buildconf Some crappy makes don't handle the .PHONY target correctly. 2000-08-24 05:55:19 +00:00
ChangeLog ChangeLog update 2000-09-01 01:09:09 +00:00
CODING_STANDARDS PHP 4.0 1999-04-07 21:05:13 +00:00
config.guess Upgrade to Libtool 1.3.5. 2000-06-11 10:26:24 +00:00
config.sub Upgrade to Libtool 1.3.5. 2000-06-11 10:26:24 +00:00
configure.in - Always include TSRM in PHP build. This will enable us to move virtual 2000-08-31 23:43:51 +00:00
CREDITS * Turn on debug by default 1999-07-17 16:43:11 +00:00
cvsclean "User interface" for removing all files which are ignored by cvs 2000-03-06 16:02:01 +00:00
dynlib.m4 Relicense build-related files under the PHP License 2000-08-20 05:36:07 +00:00
EXTENSIONS Taking responsibility for the IMAP and MCAL extensions, so there's at least 2000-08-27 17:08:06 +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
genfiles Some stuff has moved to main 2000-06-16 10:45:36 +00:00
genif.sh Use [\]n to refer to the two characters '\' and 'n'. This is the correct way 2000-06-27 16:22:26 +00:00
header fix license version number in sample header 2000-05-28 19:17:59 +00:00
INSTALL Add note about installing PHP on web servers other than Apache. 2000-08-22 05:34:22 +00:00
LICENSE Sigh, that should be the last one :I 2000-05-22 16:56:22 +00:00
ltconfig Upgrade to Libtool 1.3.5. 2000-06-11 10:26:24 +00:00
ltmain.sh Upgrade to Libtool 1.3.5. 2000-06-11 10:26:24 +00:00
makedist Don't distribute buildmk.stamp to the end user. Otherwise, buildcheck.sh 2000-08-24 19:23:11 +00:00
Makefile.in Change directory name from core to main. 2000-06-11 18:51:17 +00:00
makerpm Small fix: Description still referred to package as PHP3. 2000-05-01 04:49:49 +00:00
NEWS NEWS update 2000-09-01 01:09:06 +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
php4ext.dsw * Add a new workspace for dynamic PHP extensions. 1999-06-04 10:45:54 +00:00
php.ini-dist Advise people to use error logging instead of error displaying on production web sites 2000-08-26 14:25:47 +00:00
php.ini-optimized Advise people to use error logging instead of error displaying on production web sites 2000-08-26 14:25:47 +00:00
php.ini-recommended Advise people to use error logging instead of error displaying on production web sites 2000-08-26 14:25:47 +00:00
README.BCMATH Moving README-BCMATH to README.BCMATH 2000-05-03 04:57:11 +00:00
README.CVS-RULES MAINTAINERS has become EXTENSIONS 2000-07-26 02:10:18 +00:00
README.EXT_SKEL Tiny wording fix 2000-07-16 18:51:00 +00:00
README.QNX PHP 4.0 1999-04-07 21:05:13 +00:00
README.SELF-CONTAINED-EXTENSIONS Add note about software requirements 2000-07-31 13:44:06 +00:00
README.Zeus Minor adjustments to compile-advice 2000-07-17 17:18:02 +00:00
run-tests.php * all tests should pass now (expect for the interbase stuff that I haven't 2000-08-31 22:21:47 +00:00
snapshot Integration of -ng changes. Changes: 1999-12-30 02:59:53 +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 Andi's suggestion. 2000-08-24 17:09:26 +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 the compile fail at Zend/zend-scanner-cc.cc
                             or Zend/zend-parser.c ?

These source files are auto-generated from the corresponding .y files.
The default distribution of PHP contains pre-generated versions of these
files that have caused problems for some people. The simplest solution is
to delete the files. They will then be rebuilt correctly. You must have the
following GNU tools to do this:

       bison  1.28 or later
       flex  2.5.4 or later

*) Why does my PHP library fail to load?

After configuring Zeus, if you get a '502 Bad Gateway' 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:
Ensure you run ./configure with the `--enable-libgcc' parameter. You
may need to set LDFLAGS to '-L/usr/local/egcs/lib' (path depends on
your gcc installation)

FreeBSD 4.0:
Some people may find they need to run ./configure with the
'--enable-libgcc' compile option too.


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