On Tue, 20 Mar 2007 13:17:24 +0100
Michael Wallner <[EMAIL PROTECTED]> wrote:

> Michael B Allen wrote:
> > Hi,
> > 
> > Is there a way to get the version of the PHP binary that loaded an
> > extension from within the extension? I don't mean the PHP version the
> > extension was compiled with (PHP_VERSION), I mean the version of the
> > PHP binary itself?
> > 
> > Can I call the phpversion function from within an extension?
> > 
> > Similarly is there a way to get the zend API version of the PHP binary
> > (not the version the extension was compiled with)?
> 
> [EMAIL PROTECTED]:~/cvs/php-5.2$ grep -E 'version.*\);' Zend/*.h
> Zend/zend_API.h:ZEND_API char *zend_get_module_version(char *module_name);
> Zend/zend_extensions.h:void zend_append_version_info(zend_extension 
> *extension);
> Zend/zend.h:ZEND_API char *get_zend_version(void);
> 
> 
> You could query ext/standard for the PHP version, everything else should be 
> self explanatory. 

Yes, that does give me the PHP version. Thanks.

The get_zend_version function returns a string like 'Zend Engine v1.3.0,
Copyright (c) 1998-2004 Zend Technologies\n'. It would be nice to be
able to get the ZEND_MODULE_API_NO (e.g. 20060613) the standard module
was compiled under.

I'm still confused about how many versions of extensions I need to provide
with my product. Currently I just compile it against late versions of 4,
5.0, 5.1 and 5.2 and hope for the best. But looking at ZEND_MODULE_API_NO
changes in webcvs shows it changes more frequently than that.

But so far I haven't ran into major problems with ZEND_MODULE_API_NO
so maybe I'm just being paranoid. From looking at zend.c it looks like
it will print diagnostic info if some tries to load an incompatible
extension.

Mike

-- 
Michael B Allen
PHP Active Directory Kerberos SSO
http://www.ioplex.com/

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to