Hello people,

Problem ! (aren't they all ?)

I'm trying to get PHP working with Apache 2 on OpenBSD. Apache 2 is not
 supported in the OpenBSD ports so I figured I'd just build it from the
 standard source distribution. I've done this on Linux and it's never caused
 me a problem.

I have used exactly the same configuration on the OpenBSD build that I have
 used on Linux.

I build Apache with...

> ./configure --prefix=/usr/local/apache2 --enable-ssl
 --with-ssl=/usr/src/openssl/openssl-0.9.7 -enable-mods-shared="libphp4"
 -enable-modules="access dir mime mime_magic log_config alias negotiation setenvif"
> make
> make install

...and I build PHP with...

> ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php
 --with-apxs2=/usr/local/apache2/bin/apxs --enable-track-vars
 --enable-magic-quotes --enable-debugger --with-mysql=/usr/lib
 --enable-inline-optimization --without-pear
> make
> make install

There's no hint of a problem with either build and sure enough, Apache runs
 fine on its own and serves pages with no problems.

But if I try and load the libphp4.so module with...

LoadModule php4_module        modules/libphp4.so

...I get nothing !

I try and start apache and it just returns. No tasks, no error log, no core
 dump, nothing. Absolutely no indication why it fails. And before you ask,
 yes, all the file permissions are fine - I get error logs when I don't load
 libphp4.so and I've made sure the core dump directory is writable etc etc.

I can load other modules with no problems; I re-jigged the apache config to
 build 'access' as a module and load this with...

LoadModule access_module      modules/mod_access.so

...and it works fine.

If I try and syntax check the config file with the PHP 'LoadModule' line in
 (with /usr/local/apache2/bin/httpd -t), it doesn't even return a 'Syntax Ok'
 message. If I comment out the PHP 'LoadModule' line, I do. If I start apache
 with the PHP Loadmodule line commented out and then comment the line back in
 and try and stop apache, it ignores me and carries on running ! It looks like
 just having the LoadModule php4... line in the config file is killing the
 apache startup/shutdown stone dead. But I know this doesn't make sense, so it
 MUST be something to do with the PHP module itself... mustn't it ?

The apache config file I'm using is one I've used for ages on Linux and I'm
 sure it's absolutely fine. If I strip it down to the bare minimum, PHP will
 still fail to load. Here's such a config file that I've tried...

# Apache 2 config
ErrorLog logs/error_log
LogLevel debug
ServerRoot "/usr/local/apache2"
User httpd
Group httpd
PidFile logs/httpd.pid
# This next line works fine
LoadModule access_module      modules/mod_access.so
# This next line is causing me grief !
LoadModule php4_module        modules/libphp4.so
Listen 192.168.0.2:80
# End

One thing I have noticed is that the libphp4.so built on OpenBSD is
 significantly smaller than on Linux (3M rather than 4.9M). I've tried to
 build the PHP module from the OpenBSD ports tree and it builds ok (though
 it's only just over 1M), but I get exactly the same result when trying to
 start Apache.

I've looked at the OpenBSD resource limits and these shouldn't be causing a
 problem.

If anyone has any idea what's going on (getting some error output would be a
 start) I'd be very grateful.

Alternatively, if anyone has an alternative approach, or a known working
 solution, I'm willing to give it a go.

regards,

Rich.

Reply via email to