On Sun, Oct 7, 2012 at 5:44 PM, Mehdi Dogguy <[email protected]> wrote:
> Looking at the provided diff, I've found for example:
>
> +#ifdef ZEND_ENGINE_2_4
> + case IS_CALLABLE:
> + /* XXX implement this */
> + assert(0);
> + break;
> +#endif
>
> I'd rather avoid it.
>
I'm not a C programmer so I can't comment on that otherwise than this is
also the default for the switch (looks a few line bellow that section in
apc_compile.c).
default:
assert(0);
So basically this only adds support for a new object type changed in PHP
5.4 (due to changes in Closures and addition of Traits, AFAIK).
> Moreover, most changes are put under an "#ifdef ZEND_ENGINE_2_4" while
> php5-dev (afaics) defines ZEND_ENGINE_2. So, as far as I can tell, this
> release won't add much for Debian. (Please tell me if I got something
> wrong). Based on that, I'd prefer to keep current wheezy's version
> unchanged.
>
Indeed PHP only defines ZEND_ENGINE_2, but apc defines ZEND_ENGINE_2_4 for
anything which is PHP 5.4 by checking for ZEND_MODULE_API_NO (at apc_php.h):
#if ZEND_MODULE_API_NO >= 20100409
#define ZEND_ENGINE_2_4
#endif
#if ZEND_MODULE_API_NO > 20060613
#define ZEND_ENGINE_2_3
#endif
PHP 5.3 has 20090626, PHP 5.4 has 20100525
PHP 5.3:
http://git.php.net/?p=php-src.git;a=commitdiff;h=4b4283bdc0c578971f863a2a53b8a95c59cfc2d0
Two changes for 5.4
http://git.php.net/?p=php-src.git;a=commitdiff;h=7f18561bdce9ca7228c2ca7104b30371ca1575f5
http://git.php.net/?p=php-src.git;a=commitdiff;h=f7ce69585c0809a40ff79ebc2d429720aadd4534
Instead of accepting php-apc/3.1.13-1, did you want to include targeted
> fixes in Wheezy? If not, I think I'd close this bugreport.
>
Nope, I want to include 3.1.13, as it offers better PHP 5.4 support. I
don't want people to encounter all the memory leaks and crashes fixed since
the initial PHP 5.4 support for APC ( = version 3.1.10). See
http://pecl.php.net/package-changelog.php?package=APC
Regards and thanks for your work!
Gladly, thanks for reviewing this seriously.
Kaplan