I would suggest using current PHP CVS at this point for custom extension
development. There have been some changes in the API and you would need
to go back and fix your extensions anyway to get them to work with 4.0.7+
ext_skel has also changed quite a bit. If you recreate your extension
using the current cvs version of ext_skel and post the results, I can give
you a hand.
-Rasmus
On Wed, 5 Sep 2001, Larry Cotton wrote:
> I've written some functions which I want to use as php extensions on linux.
>
> I've downloaded php-4.0.6 and built it successfully.
>
> I auto-generated the files using the instuctions in the Zend documenteation
> at http://www.zend.com/apidoc/c269.php
>
> They tell you to do something like this :
> cd /usr/local/src/php4/ext
> ./ext_skel my_module --extname=module_name
>
> The I edited the generated files to include some of the zend functions I've
> already written and get rid of the page request init functions and added
> another source file to Makefile.in. i also uncommented the line :
> [ --with-phpwebinterface Include phpwebinterface support])
> in the config.m4 file
>
> It then says to run the following commands :
> ./buildconf --with-phpwebinterface
> ./configure
> vi ext/my_module/my_module.c
> make
>
> When I try to make the php I get an err message :
> internal_functions.c:47: 'phpext_phpwebinterface_ptr' undeclared here <not
> in a function>
> internal_functions.c:47: initializer element for php_builtin_extensions[4]'
> is not constant
> make[2]: *** [internal_functions.lo] Error 1
>
> I don't know when / how internal functions.c is generated, but when I run
> all the configuration commands listed above it seems to include
> phpext_phpwebinterface_ptr in the php_builtin_extensions[] array of module
> pointers, buit for some reason does not #include php_phpwebinterface.h. When
> I manually #include this file I still get the same error on make.
>
> My php_phpwebextensions.h looks like :
>
> #ifndef PHPWEBINTERFACE_H
> #define PHPWEBINTERFACE_H
>
> //#if HAVE_WEBPROD
>
> #ifdef PHP_WIN32
> #define PHP_WEBINTERFACE_API __declspec(dllexport)
> #else
> #define PHP_WEBINTERFACE_API
> #endif
>
> //webphpif_module_entry
> #ifdef __cplusplus
> extern "C" zend_module_entry phpwebinterface_module_entry;
> #else
> extern zend_module_entry phpwebinterface_module_entry;
> #endif
>
> #define phpwebinterface_module_ptr &phpwebinterface_module_entry
>
> #include "PhpExportsV1.h"
>
> #define phpext_phpwebinterface_ptr &phpwebinterface_module_entry
>
> //#endif HAVE_WEBPROD
>
> #endif //PHPWEBINTERFACE_H
>
> Note :
> PhpExportsV1.h simply declares the the exported functions using the zend
> macros :
> ZEND_MINIT_FUNCTION(phpwebinterface);
> ZEND_MSHUTDOWN_FUNCTION(phpwebinterface);
>
> Anyone have any idea what might be going wrong here ?
>
> Cheers
> Larry
> .... rtc
>
>
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Imerge Limited Tel :- +44 (0)1954 783600
> Unit 6 Bar Hill Business Park Fax :- +44 (0)1954 783601
> Saxon Way Web :- http://www.imerge.co.uk
> Bar Hill
> Cambridge
> CB3 8SL
> United Kingdom
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
>
>
--
PHP Install Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]