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)
- 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 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:178: error: syntax error before '*' token /home/sam/aolserver/include/nsthread.h:215: error: syntax error before '*' token /home/sam/aolserver/include/nsthread.h:294: error: syntax error before '*' token In file included from /home/sam/downloads/php.net/php-5.1.1/sapi/aolserver/aolserver.c:49: /home/sam/aolserver/include/ns.h:275: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:276: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:277: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:284: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:287: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:442: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:446: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:455: error: syntax error before "Ns_CacheSearch" /home/sam/aolserver/include/ns.h:455: warning: data definition has no type or storage class /home/sam/aolserver/include/ns.h:507: error: syntax error before "Ns_CacheSearch" /home/sam/aolserver/include/ns.h:508: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:545: error: syntax error before "Tcl_DString" /home/sam/aolserver/include/ns.h:546: error: syntax error before "Tcl_DString" /home/sam/aolserver/include/ns.h:571: error: syntax error before "Tcl_DString" /home/sam/aolserver/include/ns.h:575: error: syntax error before "Tcl_DString" /home/sam/aolserver/include/ns.h:576: error: syntax error before "Tcl_Channel" /home/sam/aolserver/include/ns.h:580: error: syntax error before "Tcl_DString" /home/sam/aolserver/include/ns.h:581: error: syntax error before "Tcl_Channel" /home/sam/aolserver/include/ns.h:585: error: syntax error before "Tcl_Encoding" /home/sam/aolserver/include/ns.h:586: error: syntax error before "Ns_ConnGetEncoding" /home/sam/aolserver/include/ns.h:586: warning: data definition has no type or storage class /home/sam/aolserver/include/ns.h:587: error: syntax error before "Tcl_Encoding" /home/sam/aolserver/include/ns.h:588: error: syntax error before "Ns_ConnGetUrlEncoding" /home/sam/aolserver/include/ns.h:588: warning: data definition has no type or storage class /home/sam/aolserver/include/ns.h:617: error: syntax error before "Tcl_Encoding" /home/sam/aolserver/include/ns.h:629: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:630: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:631: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:643: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:644: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:645: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:646: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:647: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:648: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:649: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:649: warning: data definition has no type or storage class /home/sam/aolserver/include/ns.h:650: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:672: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:764: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:765: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:771: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:772: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:778: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:780: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:782: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:784: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:850: error: syntax error before "Ns_GetEncoding" /home/sam/aolserver/include/ns.h:850: warning: data definition has no type or storage class /home/sam/aolserver/include/ns.h:851: error: syntax error before "Ns_GetFileEncoding" /home/sam/aolserver/include/ns.h:851: warning: data definition has no type or storage class /home/sam/aolserver/include/ns.h:852: error: syntax error before "Ns_GetTypeEncoding" /home/sam/aolserver/include/ns.h:852: warning: data definition has no type or storage class /home/sam/aolserver/include/ns.h:853: error: syntax error before "Ns_GetCharsetEncoding" /home/sam/aolserver/include/ns.h:853: warning: data definition has no type or storage class /home/sam/aolserver/include/ns.h:892: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:893: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:894: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:895: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:896: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:904: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:916: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:932: error: syntax error before "Tcl_DString" /home/sam/aolserver/include/ns.h:966: error: syntax error before "Tcl_Channel" /home/sam/aolserver/include/ns.h:1095: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1102: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1104: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1111: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1112: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1115: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1116: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1117: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1117: warning: data definition has no type or storage class /home/sam/aolserver/include/ns.h:1118: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1119: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1119: warning: data definition has no type or storage class /home/sam/aolserver/include/ns.h:1120: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1122: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1123: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1133: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1134: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1135: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1136: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1136: warning: data definition has no type or storage class /home/sam/aolserver/include/ns.h:1143: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1144: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1145: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1146: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1152: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1162: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1168: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1170: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1172: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1174: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1181: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1182: error: syntax error before '*' token /home/sam/aolserver/include/ns.h:1221: error: syntax error before '*' token /home/sam/downloads/php.net/php-5.1.1/sapi/aolserver/aolserver.c: In function `php_ns_request_ctor': /home/sam/downloads/php.net/php-5.1.1/sapi/aolserver/aolserver.c:428: error: `Tcl_DString' undeclared (first use in this function) /home/sam/downloads/php.net/php-5.1.1/sapi/aolserver/aolserver.c:428: error: (Each undeclared identifier is reported only once /home/sam/downloads/php.net/php-5.1.1/sapi/aolserver/aolserver.c:428: error: for each function it appears in.) /home/sam/downloads/php.net/php-5.1.1/sapi/aolserver/aolserver.c:428: error: syntax error before "ds" /home/sam/downloads/php.net/php-5.1.1/sapi/aolserver/aolserver.c:438: error: `ds' undeclared (first use in this function) /home/sam/downloads/php.net/php-5.1.1/sapi/aolserver/aolserver.c:442: warning: passing arg 1 of `strlen' makes pointer from integer without a cast /home/sam/downloads/php.net/php-5.1.1/sapi/aolserver/aolserver.c:442: warning: passing arg 2 of `memcpy' makes pointer from integer without a cast /home/sam/downloads/php.net/php-5.1.1/sapi/aolserver/aolserver.c:442: warning: passing arg 1 of `__strdup' makes pointer from integer without a cast make: *** [sapi/aolserver/aolserver.lo] Error 1
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.
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.