Re: [PHP-DEV] Thank you to JetBrains (PHP 8 Announcement page)
Am 27.11.2020 um 16:40 schrieb Sara Golemon: I've been receiving fantastic feedback on the PHP 8.0 Announcement landing page ( https://www.php.net/releases/8.0 ), and I just wanted to extend a big Thank You to all the folks at JetBrains for making this suggestion and putting forth the work on the initial four translations (en, pt_BR, de, and ru). This has helped spread the excitement around this release, and I hope we continue the tradition next year! Hear, hear. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php
[PHP-DEV] Detect if function is disabled from c ext
How can a php function can be checked from extension if that function is disabled or not? In php7.x, I used: #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "php.h" bool is_php_function_disabled(const char *func_name) { zend_internal_function *func; if ((func = zend_hash_str_find_ptr(CG(function_table), func_name, strlen(func_name { if (func->handler == ZEND_FN(display_disabled_function)) { return true; } } return false; } But it does not work for php8: In file included from /usr/local/include/php/main/php.h:35, from .../ext/libs.c:6: .../ext/libs.c: In function 'is_php_function_disabled': /usr/local/include/php/Zend/zend_API.h:68:23: error: 'zif_display_disabled_function' undeclared (first use in this function) 68 | #define ZEND_FN(name) zif_##name | ^~~~ .../ext/libs.c:237:30: note: in expansion of macro 'ZEND_FN' 237 | if (func->handler == ZEND_FN(display_disabled_function)) { Thanks for help in advance. With kind regards / Mit freundlichen Grüßen / S přátelským pozdravem, Michael Voříšek ČVUT FEL
Re: [PHP-DEV] Detect if function is disabled from c ext
On Sun, Nov 29, 2020 at 11:20 PM Michael Voříšek - ČVUT FEL < voris...@fel.cvut.cz> wrote: > How can a php function can be checked from extension if that function is > disabled or not? > > In php7.x, I used: > > #ifdef HAVE_CONFIG_H > #include "config.h" > #endif > > #include > #include "php.h" > > bool is_php_function_disabled(const char *func_name) { > zend_internal_function *func; > if ((func = zend_hash_str_find_ptr(CG(function_table), func_name, > strlen(func_name { > if (func->handler == ZEND_FN(display_disabled_function)) { > return true; > } > } > > return false; > } > > But it does not work for php8: > > In file included from /usr/local/include/php/main/php.h:35, > from .../ext/libs.c:6: > .../ext/libs.c: In function 'is_php_function_disabled': > /usr/local/include/php/Zend/zend_API.h:68:23: error: > 'zif_display_disabled_function' undeclared (first use in this function) > 68 | #define ZEND_FN(name) zif_##name > | ^~~~ > .../ext/libs.c:237:30: note: in expansion of macro 'ZEND_FN' > 237 | if (func->handler == ZEND_FN(display_disabled_function)) { > > Thanks for help in advance. > In PHP 8, the question is ill-posed. A disabled function is indistinguishable from a function that does not exist. (You can of course check the value of the ini setting, but there should be no good reason to do so.) Nikita