PHP Extension Compiling

From: Date: Thu, 06 Oct 2005 01:53:54 +0000
Subject: PHP Extension Compiling
Groups: php.install 
Request: Send a blank email to php-install+get-16711@lists.php.net to get a copy of this message
Hello, I recently noticed in FreeBSD ports all of php's extensions are dynamically build and loaded. In an attempt to do this manually on my fedora webservers, I've been met with a few problems. First off, I've built php 5.0.5 with the following options: './configure' '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/conf' '--with-config-file-scan-dir=/z/www/conf/php' '--disable-all' '--disable-ipv6' '--with-regex=php' '--with-apxs2=/usr/local/apache/bin/apxs' This configuration builds and runs just fine. However, the difficulty I encounter occurs when doing the following (I'm just using soap as an example, the results are the same with other extensions): $ cd /usr/src/php-5.0.5/ext/soap $ phpize $ ./configure && make install This executes without error and the extension is built and installed properly to my extensions directory[1]. I enable the module in an extensions.ini file found in the config-file-scan-dir: $ grep soap extensions.ini extension=soap.so After restarting apache, I notice that the extensions.ini file is found and loaded, but the soap extension isn't listed as a loaded module. Trying the cli version of php, it spews the following error: $ php PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/extensions/soap.so' - /usr/local/php/extensions/soap.so: undefined symbol: ps_globals in Unknown on line 0 I suppose my question isn't to ask how to fix installing the soap extension, but rather, is this the correct way to build, install and enable dynamic extensions? What am I doing wrong? This process doesn't seem to work for any of the other extensions I've tried to build and load. Any help would be appreciated. -- Ryan C. Creasey Systems Administrator IGN Entertainment Footnotes: ---------- [1] What's the variable or configure flag to specify this path? With the above build options, it's putting extension files in: /usr/local/php/lib/php/extensions/no-debug-non-zts-20041030 I'd rather they be installed to /usr/local/php/extensions/20041030/.

« previous php.install (#16711) next »