Talk:How to set up PHP under AOLserver
I've downloaded the aolserver src both directly and via the Debian source package, but cannot get php-5.1.1 to build:
sam@caveman:~/downloads/php.net/php-5.1.1$ ./configure --with-aolserver --with-aolserver-src=/home/sam/downloads/aolserver.org/aolserver-4.0.10 aolserver-4.0.10 aolserver-4.0.10-src.tar.gz sam@caveman:~/downloads/php.net/php-5.1.1$ ./configure --with-aolserver --with-aolserver-src=/home/sam/downloads/aolserver.org/aolserver-4.0.10 --enable-shared loading cache ./config.cache checking for Cygwin environment... no checking for mingw32 environment... no checking for egrep... grep -E checking for a sed that does not truncate output... /bin/sed checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu checking for gcc... gcc checking whether the C compiler (gcc ) works... yes checking whether the C compiler (gcc ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking whether gcc and cc understand -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for AIX... no checking whether ln -s works... yes checking if compiler supports -R... no checking if compiler supports -Wl,-rpath,... yes checking for re2c... re2c checking for re2c version... invalid configure: warning: You will need re2c 0.98 or later if you want to regenerate PHP parsers. checking for gawk... gawk checking for bison... bison -y checking for bison version... 1.875 (ok) checking for flex... flex checking for yywrap in -lfl... yes checking lex output file root... lex.yy checking whether yytext is a pointer... yes checking for working const... yes checking for flex version... invalid configure: warning: flex versions supported for regeneration of the Zend/PHP parsers: 2.5.4 (found: 2.5.31). checking whether to force non-PIC code in shared modules... yes checking for pthreads_cflags... -pthread checking for pthreads_lib... Configuring SAPI modules checking for AOLserver support... yes 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$
sam@caveman:~/downloads/php.net/php-5.1.1$ ls /home/sam/downloads/aolserver.org/aolserver-4.0.10 ChangeLog configure index.html nscgi nsext nssock tcl Makefile configure.in ini2tcl.tcl nscp nslog nsssl tcl2ini.tcl README doc install-sh nsd nspd nsthread tests aclocal.m4 include license.terms nsdb nsperm sample-config.tcl win32 sam@caveman:~/downloads/php.net/php-5.1.1$
Perhaps I am simply an idiot (would not be the first time) but something "no longer works".
- 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)
- Thanks to PHP community, found the correct thing to pass to configure:
./configure --enable-aolserver=/usr/lib/aolserver4 --enable-shared
So it appears that AOLServer source is not needed other than aolserver-dev package (at least on Debian). For Debian, AOLServer 4 is build using install path "/usr/lib/aolserver4".
--Caveman 15:13, 8 December 2005 (EST)
- Actually, this did not build shared module (libphp5.so) either. --Caveman 15:13, 8 December 2005 (EST)
- Still having issues:
./configure --enable-aolserver=/usr/lib/aolserver4 --enable-embed=shared
Is the magic-cookie needed to get the configure script to attempt' to produce the shared library. Other non-working attempts that perhaps "should" have been correct was: "./configure --enable-aolserver=shared,/usr/lib/aolserver4". This (as well as --enabled-shared and --enable-shared=aolserver, among several others) did not produce a libphp5.so as expected. However I was assured "this is not a bug" with PHP.
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.
PHP configure and make produce libphp5 without Ns_ModuleInit
PHP:
./configure --enable-aolserver=/usr/lib/aolserver4 --enable-embed=shared
Subsequently configure the libphp5.so module as described, and re-start AOLServer, in log:
[08/Dec/2005:17:21:04][20896.16384][-main-] Notice: modload: loading '/usr/lib/aolserver4/bin/li bphp5.so' [08/Dec/2005:17:21:04][20896.16384][-main-] Warning: modload: could not find Ns_ModuleInit in /u sr/lib/aolserver4/bin/libphp5.so [08/Dec/2005:17:21:04][20896.16384][-main-] Fatal: modload: failed to load module 'libphp5.so'
How fun is that. Unfortunately, the final resolution to my PHP bug report was that this is still "user error" and "bogus with a capital 'B'", and that I am still using the wrong configuration options.