Re: Newbie: issues developing a new extension

From: Date: Wed, 29 Feb 2012 08:04:33 +0000
Subject: Re: Newbie: issues developing a new extension
References: 1 2 3 4 5  Groups: php.internals 
Request: Send a blank email to internals+get-58323@lists.php.net to get a copy of this message
>>>>  > Dear all, >> >>>>  > I'm asking your help because I'm not able to solve an > issue >>> probably >>>>  related to some foolish mistake I have not yet discovered. >>>>  > I'm trying to develop an experimental extension to > interface LIXA >>>>  library (http:/lixa.sourceforge.net/). >>>>  > >>>>  > I have created the basic stuff (config.m4, lixa.c, php_lixa.h > and so >>> on). >>>>  > >>>>  > If I use this sequence from the ext/lixa directory: >>>>  > >>>>  > /opt/php/bin/phpize >>>>  > ./configure --help >>>>  > >>>>  > I can see the lixa extension is available: >>>>  > >>>>  > [...] >>>>  > Optional Packages: >>>>  >   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes] >>>>  >   --without-PACKAGE       do not use PACKAGE (same as >>> --with-PACKAGE=no) >>>>  >   --with-libdir=NAME      Look for libraries in .../NAME > rather than >>>>  .../lib >>>>  >   --with-php-config=PATH  Path to php-config php-config >>>>  >   --with-lixa=FILE        Include LIXA support. File is the > path to >>>>  lixa-config >>>>  > >>>>  > [...] >>>>  > >>>>  > and I can compile with: >>>>  > >>>>  > ./configure --with-lixa=/opt/lixa/bin/lixa-config >>>>  --with-php-config=/opt/php/bin/php-config >>>>  > >>>>  > the build process runs as expected and the extension is > available >>> after >>>>  an addition to php.ini (extension=[...]/ext/lixa/modules/lixa.so). >>>> >>>>  Great, you are done. Why do you want to go any further than this? > You >>>>  built your extension and it is available from PHP exactly like any > pecl >>>>  extension. >>>> >>> >>> and if you're using apache, reboot it and check your phpinfo() page > for >>> your extension. >>> if you're connected up via the command line you can run "php > -m" >>> to see if >>> your modules exists. >>> >>> >>>> >>>>  -Rasmus >>>> >> >> Dear all, >> I would like to see my extension as any other extension, like MySQL, > PostgreSQL, Oracle and so on because: >> 1. LIXA itself is useless without those resource managers >> 2. I need to patch other extensions to implement the interfaces between > LIXA and MySQL/PostgreSQL/Oracle. >> What's the difference between an "internal" extension (like >> MySQL/PostgreSQL/Oracle) and an "external" extension as the one I >> produced? >> Thanks in advance, your help is precious. > > > The PHP source archive bundles several extensions under the ext/ > directory, these are the extensions are listed when you run > ./configure --help > > I don't understand why you want your extension to show up there, but > to do so you have to place your extension in that folder and run > ./buildconf --force > PHP will not automatically scan your filesystem for possible extension > directories to list them under ./configure > I'm sure you have seen, and used, http://pecl.php.net - > these > extensions don't show up when you build PHP. > > The standard way to build "external" extensions however is to use > pecl, or manually build them as shared modules (as you did first). > > > -Hannes > That's the point: I tryed ./buildconf --help but it didn't include my extension. This is an excerpt from my initial post: > If I use this sequence from the PHP root directory: > ./buildconf --force > as described here: talks.somabo.de/200510_zend_conf_php_extension_development.pdf > I cannot see "lixa" as an available option of my configure: > ./configure --help|grep lixa > is empty. > If I try to build PHP anyway, I obtain: > tiian@mojan:~/src/swig/php5.4-201202241630$ ./configure --with-lixa=/opt/lixa/bin/lixa-config > configure: WARNING: unrecognized options: --with-lixa Do you have any idea how to debug why "buildconf --force" does not pick-up my extension? Thanks in advance Ch.F.

« previous php.internals (#58323) next »