Re: [PHP-DEV] Thank you to JetBrains (PHP 8 Announcement page)

2020-11-29 Thread Sebastian Bergmann

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

2020-11-29 Thread Michael Voříšek - ČVUT FEL

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

2020-11-29 Thread Nikita Popov
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