Re: Newbie: issues developing a new extension
| From: | Christian Ferrari | 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.