Talk:How to set up PHP under AOLserver

From AOLserver Wiki
Jump to navigation Jump to search

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)
    • I opened a PHP bug issue for this: [1] --Caveman 14:05, 8 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.