-
Notifications
You must be signed in to change notification settings - Fork 0
EnduroX for PHP. Ported for PHP5 up and running!
License
endurox-dev/endurox-php
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
# $Id: README,v 1.7 2002/01/10 04:44:41 bfoddy Exp $ PHP-ENDUROX IMPORTANT: This project is work in progress, so the building and installing process is not very automated yet. Please read this document carefully. Afterall, the standard configure, make, make install steps just don't exist yet. PLEASE...PLEASE Report any and all success and failures back to me. I want to hear how things are going. This is the first version so I expect bugs and problems so I won't be offended. These steps should provide the basis for a build on Linux or Solaris. Other UNIXs should be similar enough. Windows ... I can say it is being worked on, if you can't wait write me for the latest status. NOTE: The Makefile is set to build a workstation client, requiring a WSH listener. If you want to build a direct client, it should work by changing the libraries, but I've not tried that yet. What is included? This module so far has only been tested on Endurox 6.5, but should work with other versions. Reference the php_endurox.api document for a complete list of endurox function calls included. Its the core basic functions a client would need. There are many still not done yet. No XML buffer functions either (a 7.1 feature). PRE-BUILDING (IMPORTANT, please READ carefully). Before you can build PHP-Endurox, you must decide if you want to build it as a DL module or directly into PHP. A DL module is a dynamic module that is loaded by PHP each and every hit, and unloaded at the end of the hit. It has the distinct advantage of being easier to load into a existing PHP install because PHP itself is not rebuilt. The make process for a DL module is a little more straight forward, but more manual in nature. The DL method is documented in README.dl. The second method to build PHP-Endurox is to directly build it as a permanent module inside PHP. Built this way you don't need to DL any external files, and performance will be faster as PHP doesn't need to do any runtime calls to dlopen. This method also has the distinct advantage of being able to debug a core file or running program with most standard debuggers. Building in this manor is more automated and simplier, but requires more tools before you can begin. PHP uses the GNU libtool, autoconf, automake, and m4 tools to construct its config file. To build PHP-Endurox as a permanent extension, you need to rebuild these config files. So these GNU packages are required: GNU m4 1.4 (http://www.gnu.org/directory/m4.html) GNU autoconf 2.13 (http://www.gnu.org/directory/autoconf.html) GNU automake 1.4 (http://www.gnu.org/directory/automake.html) GNU libtool 1.4 (http://www.gnu.org/directory/libtool.html) Similar or newer versions should also work. Many Linux distributions should already have these tools. Most Solaris or other commercial UNIXs probably don't have these installed. You may want to use a mirror site like gnu.sunsite.utk.edu to download as the main site is usually quite busy. The build of these packages is painless. NOTE: These can be installed in a local user directory. The over time the DL build option will be depreciated so if possible try the direct method. Which version of PHP? Since PHP itself is a moving target its hard to keep a document up-to-date on which version to use. General advise, use the latest released version. PHP sometimes has API changes between different releases so our code must make corresponding changes. One such change was between 4.0.4 and 4.0.5. The latest version of PHP-Endurox has been modified for the 4.0.5 changes. If you must use 4.0.4 you will need to undo these changes by applying a patch file provided in misc/php_endurox_arrayubf.c._4.0.5-4.0.4.patch. 4.0.6 changes: The config.m4 file required modification for PHP 4.0.6. Primarily, many of the AC_ macros were redefined as PHP_ macros. If you intend to use this release of older versions of PHP, you will need to change them back. 4.1.0 changes: The PHP API again changed in 4.1.0. This time the changes were able to be #if able in the source code so the code should be backward compatable with older versions. Which version of ATR Baltic Endurox? This program has been successfully built on Endurox versions from 6.5 up to 8.0. However some of these version changes required a link change to Endurox clients; different libraries, etc. Until we get our build process automated enough to detect which version of Endurox its being linked against, you may need to slightly alter the linking process to match the provided libraries in Endurox. Generally, php-endurox must perform the same linking as would be described in a buildclient -v command. The linking currently in this release should work with Endurox 6.5 without change. I know 8.0 requires alterations; I'm unsure about 7.1. If you need help, please post messages on the support forumns and we will do our best. This version does NOT support any new features in 7.1 or 8.0 but will work with these versions to the 6.5 feature list. Building as a DL module is described in README.dl. =========================================================================== Using the direct external PHP method... BUILDING. 1. Obtain and extract the PHP4 source code for the version loaded in your web server in a clean directory (php-4.1.1) If its old, maybe this is a good time to upgrade and get the latest at www.php.net. I've been using 4.1.1. Versions between 4.1.0 and 4.0.4p1 have worked but you may encounter API changes that need to be undone. Nothing older than 4.0.4p1 has been tested. 2. Create a new directory in the php source of php-4.1.x/ext/endurox and copy the contents of the php-endurox distribution into this directory. 3. From the php-4.1.x directory, run ./buildconf This will rebuild the configure script to include the new php-endurox module. 4. Configure PHP4 according to the instructions for that package (./configure {options}) Include a new option of "--with-endurox=[DIR]" with the configure. DIR should be the location of the Endurox package (usually $NDRXDIR). To check if this step completed successfully, there should now be a Makefile in ext/endurox (not to be conbused with Makefile.in). 5. Type "make". If the previous steps worked correctly it will automatically build PHP with the new PHP-Endurox module included. You may watch for the endurox compile steps to be sure. 6. Following the normal steps of PHP, "make install". INSTALLING / TESTING 1. Create a file ndrxph_phpinfo.php in this directory with the contents of <?php phpinfo (); ?> NOTE: DO NOT put a dl ("php-endurox.so") statement in this script. Php-endurox is already loaded. 2. Run this script. If everything is successful, you should see a section ATR Baltic Endurox Module with some of the more common environment variables for Endurox set (NDRXDIR and WSNADDR). If the section is there, congrats you probably built the module correctly. If some of the environment variables (like WSNADDR) aren't set correctly, now is a good time to make sure your web server has these variables set. Remember your web server is now a Endurox client; all the normal rules still apply. 3. You are ready to go. See the php_endurox.api for a list of functions currently available and their arguments. ========================================================================== ========================================================================== Questions or problems, leave me notes on the web site tools. Brian
About
EnduroX for PHP. Ported for PHP5 up and running!
Topics
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published