[Xapian-discuss] php bindings not working in the browser

Olly Betts olly at survex.com
Sat Dec 16 02:04:37 GMT 2006

On Fri, Dec 15, 2006 at 01:23:47PM -0800, Jamie D wrote:
> I have found the problem and now have Xapian working. I think this
> should go in the xapian-bindings install docs somewhere.
> The php xapian-bindings will only work through apache, possibly any
> other web server, if php is compiled without --enable-versioning.

I can't find any useful documentation for --enable-versioning anywhere -
with PHP 5.2.0, the output of "./configure --help" says "See INSTALL for more
information" but INSTALL doesn't even mention the word "versioning".

Looking at configure.in from PHP 5.2.0 I see this code:

    if test "$PHP_VERSIONING" = "yes"; then
      if test -n "$PHP_MODULES"; then
	AC_MSG_ERROR([--enable-versioning cannot be used with shared modules])

$PHP_MODULES is the list of extensions shipped with PHP to be compiled as
shared modules, but there's nothing special about most of the modules shipped
with PHP, so I think that --enable-versioning will prevent *ANY* PHP extension
from working as a shared module.

Looking at what effect --enable-versioning has, it only exports a very small
set of symbols from "mod_php" (or the equivalent for whatever webserver is in
use).  There's no symbol list for the CLI version, so there's no restriction on
exported symbols, which is presumably why the Xapian extension you built works
with the CLI version of PHP.


More information about the Xapian-discuss mailing list