Re: Re: PHP version and Zend API Number

From: Date: Wed, 21 Mar 2007 02:15:47 +0000
Subject: Re: Re: PHP version and Zend API Number
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-28509@lists.php.net to get a copy of this message
On Tue, 20 Mar 2007 13:17:24 +0100 Michael Wallner <mike@php.net> 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)? > > mike@honeybadger:~/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/

« previous php.internals (#28509) next »