Talk:How to set up PHP under AOLserver
I cannot get php-5.1.1 to build with Debian 3.1 package of aolserver4 and aolserver4-dev (which is built with --prefix=/usr/lib/aolserver4):
sam@caveman:~/downloads/php.net/php-5.1.1$ ./configure --with-aolserver=/usr/lib/aolserver4 loading cache ./config.cache ... ... Configuring SAPI modules checking for AOLserver support... /usr/lib/aolserver4 configure: error: Please specify the path to the source distribution of AOLserver using --with-aolserver-src=DIR sam@caveman:~/downloads/php.net/php-5.1.1$
- I only ever tested this against PHP 4.3.7 -- I don't know what is required to make it work with PHP 5.1.1. If you figure it out, please update the page. -- Dossy 12:05, 7 December 2005 (EST)
- This may be an issue more with the way Debian 3.1 installs AOLserver 4 than anything else. The "proper" PHP configure command should be:
./configure --with-aolserver=/path/to/installed/aolserver
Debian 3.1 configures AOLServer with a prefix of "/usr/lib/aolserver4". However, using this as the "/path/to/installed/aolserver" results in the same error and a request for "--with-aolserver-src".
- I configured and installed aolserver4 from source into "/home/sam/aolserver". PHP configure finally completed successfully. However, PHP compile still failed:
/bin/sh /home/sam/downloads/php.net/php-5.1.1/libtool --silent --preserve-dup-deps --mode=compile /home/sam/downloads/php.net/php-5.1.1/meta_ccld -Isapi/aolserver/ -I/home/sam/downloads/php.net/php-5.1.1/sapi/aolserver/ -DPHP_ATOM_INC -I/home/sam/downloads/php.net/php-5.1.1/include -I/home/sam/downloads/php.net/php-5.1.1/main -I/home/sam/downloads/php.net/php-5.1.1 -I/home/sam/aolserver/include -I/usr/include/libxml2 -I/home/sam/downloads/php.net/php-5.1.1/ext/date/lib -I/home/sam/downloads/php.net/php-5.1.1/TSRM -I/home/sam/downloads/php.net/php-5.1.1/Zend -D_REENTRANT -g -O2 -pthread -DZTS -prefer-non-pic -c /home/sam/downloads/php.net/php-5.1.1/sapi/aolserver/aolserver.c -o sapi/aolserver/aolserver.lo In file included from /home/sam/aolserver/include/ns.h:62, from /home/sam/downloads/php.net/php-5.1.1/sapi/aolserver/aolserver.c:49: /home/sam/aolserver/include/nsthread.h:125:17: tcl.h: No such file or directory
This was obviously an error finding "tcl.h". I manually edited the PHP "Makefile" and set:
EXTRA_INCLUDES = -I/usr/include/tcl8.4
This allowed PHP compilation to complete. The module loaded successfully and PHP scripts work as expected (see phpinfo output). --Caveman 19:05, 8 December 2005 (EST)
With trial and error, I was able to configure and compile against the Debian 3.1 packages as installed by default:
./configure --with-aolserver=/usr make "EXTRA_INCLUDES=-I/usr/include/tcl8.4 -I/usr/include/aolserver4"
I was able to get php 5.1.2 to make with the above (after satisfying all the dependencies, first), no patching necessary.
extending PHP to take advantage of AOLServer
http://aolserver.org/docs/devel/c/api/c-ch3.htm#37064
proposal: write a PHP extension to provide PHP functions to access AOLserver database pools (and perhaps other important features like shared memory).
In other words, provide PHP functions:
ns_db_gethandle ns_db_select
And so on. It should be nearly trivial to do this, and give PHP on AOLserver a very powerful advantage over PHP on Apache.
Extending PHP By Sterling Hughes
sam@caveman:~/downloads/php.net/php-5.1.1/ext$ ./ext_skel --extname=nsdb Creating directory nsdb Creating basic files: config.m4 config.w32 .cvsignore nsdb.c php_nsdb.h CREDITS EXPERIMENTAL tests/001.phpt nsdb.php [done]. To use your new extension, you will have to execute the following steps: 1. $ cd .. 2. $ vi ext/nsdb/config.m4 3. $ ./buildconf 4. $ ./configure --[with|enable]-nsdb 5. $ make 6. $ ./php -f ext/nsdb/nsdb.php 7. $ vi ext/nsdb/nsdb.c 8. $ make Repeat steps 3-6 until you are satisfied with ext/nsdb/config.m4 and step 6 confirms that your module is compiled into PHP. Then, start writing code and repeat the last two steps as often as necessary.