Bug #79382 [Com]: Fatal error: Cannot redeclare getallheaders() in ...
| From: | admin at franceserv dot fr | Date: | Sat, 14 Mar 2020 14:14:34 +0000 |
| Subject: | Bug #79382 [Com]: Fatal error: Cannot redeclare getallheaders() in ... | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-226108@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=79382&edit=1
ID: 79382
Comment by: admin at franceserv dot fr
Reported by: admin at franceserv dot fr
Summary: Fatal error: Cannot redeclare getallheaders() in ...
Status: Open
Type: Bug
Package: *General Issues
Operating System: Linux
PHP Version: 7.3.15 and 7.4
Block user comment: N
Private report: N
New Comment:
This strange behavior seem to exist since 13 years at least :
https://www.php.net/manual/fr/function.function-exists.php#67947
When a function is disabled, if we check this function with function_exists() it's reply
"don't exist", but if we are trying to declare the function it's reply
"exist already". Funny :)
Previous Comments:
------------------------------------------------------------------------
[2020-03-14 13:20:45] admin at franceserv dot fr
My friend and me found the BUG :)
When the function "getallheaders" is disabled with disable_functions in php.ini, the
function isn't visible by function_exists() but if we redeclare it, it's raise an error
(instead a disabled function warning).
We are thinking it's really a bug because before 7.3 the behavior isn't same.
Could you check on your side please with PHP 7.3.x or 7.4.x ?
------------------------------------------------------------------------
[2020-03-14 12:36:43] admin at franceserv dot fr
Yes exactly, the file is this one :
https://github.com/ralouphie/getallheaders/blob/develop/src/getallheaders.php
The condition "if (!function_exists('getallheaders'))" isn't checked and I
need (same for few people over Internet too) rename the function "function
getallheaders()" to "function _something_different_here_getallheaders()" to avoid the
problem ...
A friend is using PHP 7.4 and he don't have this problem, but I don't know where to look
because a configuration which change behavior of the function "function_exists()" is very
strange.
------------------------------------------------------------------------
[2020-03-14 10:31:56] cmb@php.net
Among others, this is about <https://github.com/ralouphie/getallheaders/blob/develop/src/getallheaders.php>.
------------------------------------------------------------------------
[2020-03-14 08:48:50] nikic@php.net
I doubt this is opcache related. PHP 7.3 added getallheaders() for the FPM SAPI and the code also
tries to define this function. You mention that there is a function_exists check, which should have
prevented this. Can you share what the file that containts the getallheaders() declaration looks
like?
------------------------------------------------------------------------
[2020-03-14 03:45:38] admin at franceserv dot fr
You have right, this problem is strange because I don't find it into bugs.php.net after so much
long time. Thank you about the idea to check opcache, I disabled it temporary for testing but the
problem was still here ...
I will continue to check my configuration but it don't seem to be related with opcache ... if
someone have an idea and solved this problem on his configuration it's interest me ...
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=79382
--
Edit this bug report at https://bugs.php.net/bug.php?id=79382&edit=1