PHP 5.4.3/CentOS 6.2 64bit - couchbase.so won't load
I'm getting the following error with PHP trying to use the couchbase extension (using php -m):
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/couchbase.so' - /usr/local/lib/php/extensions/couchbase.so: undefined symbol: executor_globals in Unknown on line 0
This is PHP 5.4.3 on CentOS 6.2 64-bit. It's a fresh install, with minimal configuration (no other extensions loaded). I've tried both the 1.0.3 and the 1.1.0 client SDKs - and get the same error with both.
I've installed the libcouchbase, libcouchbase-devel, libvbucket, and libvbucket-devel packages - and all installed smoothly.
I verified that the php binary is the correct format:
/usr/local/bin/php: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
And I verified the couchbase.so format:
/usr/local/lib/php/extensions/couchbase.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped
All in agreement on the 64-bit front.
If I remove the couchbase extension, php runs fine.
Any ideas?
Found the github link and remade the module from source. Seems to be happier now.
Well... that was premature. The command line PHP was happier; the module was not. In the end, statically compiling the extension into PHP as an Apache module seemed to resolve it.
Hm, you installed our CentOS 6.x binaries for libcouchbase and libvbucket, right? Does the "cbc" program shipped with libcouchbase run properly? That'd be a good first test. See if you can do stats against your cluster.
Sorry for all of the hassle, sounds like it's up and running now? Thanks for the platform info, we'll test this specific combination.
I recompiled PHP without apxs; now when I run php -m, I get the following error:
PHP Warning: PHP Startup: couchbase: Unable to initialize module
Module compiled with module API=20090626
PHP compiled with module API=20100525
These options need to match
in Unknown on line 0
I get the same error for both of the Couchbase versions. I assume this is due to a change in the PHP API version. Is there a source package for the Couchbase SDK that I can build in my environment?