Re: PHP 7.3 zif_handler changes
| From: | Jan Ehrhardt | Date: | Wed, 27 Jun 2018 06:47:34 +0000 |
| Subject: | Re: PHP 7.3 zif_handler changes | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-102479@lists.php.net to get a copy of this message | ||
"Christoph M. Becker" in php.internals (Tue, 26 Jun 2018 13:15:32
+0200):
>On 26.06.2018 at 08:42, Jan Ehrhardt wrote:
>
>>
>> https://github.com/php/php-src/blob/php-7.3.0alpha2/UPGRADING.INTERNALS
>>
>> pecl_http:
>> |php_http_client_curl_user.c(190): error C2440: '=': cannot convert from
>> 'void (__cdecl *)(zend_execute_data *,zval *)' to 'zif_handler'
Mike fixed pecl_http:
https://github.com/m6w6/ext-http/commit/512f733beac73f37ba4acbcf730ebc6c6de849b6
But we ran into another undocumented change:
https://github.com/m6w6/ext-http/commit/377d576a6e68def5708cf1ffcd3c233c4dddf356
zval_ptr_dtor had to be replaced by zval_internal_dtor.
>> taint seems to have comparable errors. See
>>
>> https://github.com/laruence/taint/commit/9debfe9682d22e172906cd2e7754a8380bf13453#commitcomment-29461798
I fixed taint:
https://github.com/laruence/taint/commit/9debfe9682d22e172906cd2e7754a8380bf13453#commitcomment-29510740
>> Can this be fixed and/or added to UPGRADING.INTERNALS?
>
>Apparently, zif_handler() has been changed to use the ZEND_FASTCALL
>calling convention[1] which results in this incompatibility. Not sure
>if that should be reverted, or just documented in UPGRADING.INTERNALS.
Any news from the RM's on this?
--
Jan