Thread: building PHP Apache module with PostgreSQL support
Hello everyone! I sucessfully installed Cygwin with Apache 1.3.24-5 and PostgreSQL 7.2.1-2 running as NT services on my WinXP machine. After this I wanted to check out phpPgAdmin to play around with. I installed the mod_php4 (4.2.0-1) package and modified Apache's httpd.conf file but was not able to start Apache properly: API module structure 'php4_module' in file /usr/local/apache/libexec/libphp4.dll is garbled - perhaps this is not an Apache module DSO? However, I think the precompiled mod_php4 bins doesn't support PostgreSQL and downloaded the sources (apache-php-4.2.0-1-src.tar.bz2). I configured PHP with the required options (after the steps described in php-4.2.0-1.README): ./configure --with-apxs --without-mysql --with-pgsql This process terminates with: ... checking for PostgreSQL support... yes configure: error: Cannot find libpq.so. Please specify correct PostgreSQL installation path Of course there are no *.so files available under Cygwin. Is there a patch to fix that, or under which topic I should search for in the mailing list? All packages are installed with Cygwin's setup.exe. Additionally the sources of Apache and PostgreSQL are hosted in: /usr/src/apache_1.3.24-5 /usr/src/postgresql-7.2.1-2 Then I decided to build PHP without pgsql support to find out if this will run smooth. Unfortunately, a problem appeared during the installation described below. I followed the steps pointed out in php-4.2.0-1.README that are: tar xjvf apache-php-X-Y-src.tar.bz2 [1] patch -p0 < php-X-Y/CYGWIN-PATCHES/php-X-Y.patch [2] cd php-X-Y [3] autoconf [4] ./configure --with-apxs [5] make [6] cd sapi/apache/.libs [7] ../../../CYGIN-PATCHES/mkdll.sh libsapi.la \ -L ../../../.libs -lphp4 \ /usr/bin/cyghttpd.dll [8] mv cygsapi.dll libphp4.dll [9] /usr/sbin/apxs -i -a -n php4 libphp4.dll [10] The process of creating the cygsapi.dll [8] stopps after a list of "undefined reference to..." messages with following error: collect2: ld returned 1 exit status It would be great if someone could give me a hint in order to bring the PHP module with pgsql support up and running . Are there any further steps necessary for the combination Apache/PHP/PostgreSQL under Cygwin? Thank you in advance! Regards, Andreas
Andreas writes: > Hello everyone! > > I sucessfully installed Cygwin with Apache 1.3.24-5 and PostgreSQL 7.2.1-2 > running as NT services on my WinXP machine. After this I wanted to check out > phpPgAdmin to play around with. > I installed the mod_php4 (4.2.0-1) package and modified Apache's httpd.conf > file but was not able to start Apache properly: > API module structure 'php4_module' in file > /usr/local/apache/libexec/libphp4.dll is garbled - perhaps this is not an > Apache module DSO? > > However, I think the precompiled mod_php4 bins doesn't support PostgreSQL > and downloaded the sources (apache-php-4.2.0-1-src.tar.bz2). I configured > PHP with the required options (after the steps described in > php-4.2.0-1.README): > ./configure --with-apxs --without-mysql --with-pgsql Andreas it was a while ago that I compiled my php extension but I seem to remember I had problems with apxs and had to statically link php into apache Regards Norman
> > I sucessfully installed Cygwin with Apache 1.3.24-5 and > PostgreSQL 7.2.1-2 > > running as NT services on my WinXP machine. After this I wanted to check > out > > phpPgAdmin to play around with. > > I installed the mod_php4 (4.2.0-1) package and modified Apache's > httpd.conf > > file but was not able to start Apache properly: > > API module structure 'php4_module' in file > > /usr/local/apache/libexec/libphp4.dll is garbled - perhaps this > is not an > > Apache module DSO? > > > > However, I think the precompiled mod_php4 bins doesn't support > PostgreSQL > > and downloaded the sources (apache-php-4.2.0-1-src.tar.bz2). I > configured > > PHP with the required options (after the steps described in > > php-4.2.0-1.README): > > ./configure --with-apxs --without-mysql --with-pgsql > > Andreas it was a while ago that I compiled my php extension > but I seem to remember I had problems with apxs and had to > statically link php into apache Tried to build static module without pgsql (just to understand): Thank you Norman for your response but I wasn't able to statically link php into apache. The configure part seems to work properly but the following make results in some error messages. I used the following commands: tar xjvf apache-php-X-Y-src.tar.bz2 [1] patch -p0 < php-X-Y/CYGWIN-PATCHES/php-X-Y.patch [2] cd php-X-Y [3] autoconf [4] ./configure --with-apache=<path>/apache --without-mysql [5] make [6] make install [7] jumping to apache source dir: ./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/li bphp4.a [8] make [9] output after make: ... mod_php4.c:28: zend.h: No such file or directory mod_php4.c:29: php.h: No such file or directory mod_php4.c:30: php_variables.h: No such file or directory mod_php4.c:47: php_ini.h: No such file or directory mod_php4.c:48: php_globals.h: No such file or directory mod_php4.c:49: SAPI.h: No such file or directory mod_php4.c:50: php_main.h: No such file or directory mod_php4.c:52: zend_compile.h: No such file or directory mod_php4.c:53: zend_execute.h: No such file or directory mod_php4.c:54: zend_highlight.h: No such file or directory mod_php4.c:55: zend_indent.h: No such file or directory mod_php4.c:57: ext/standard/php_standard.h: No such file or directory make[4]: *** [mod_php4.o] Error 1 make[3]: *** [all] Error 1 make[2]: *** [subdirs] Error 1 make[1]: *** [build-std] Error 2 make: *** [build] Error 2 Does anyone know what's going on here? I still have problems during 'configure' command of php when using --with-pgsql option for both static and DSO module. Andreas