略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: runkit_constant_remove

2024-04-29

runkit_constant_remove

(PECL runkit >= 0.7.0)

runkit_constant_remove Remove/Delete an already defined constant

说明

runkit_constant_remove ( string $constname ) : bool

参数

constname

Name of constant to remove. Either a string indicating a global constant, or classname::constname indicating a class constant.

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE

参见

add a note add a note

User Contributed Notes 1 note

up
4
vladimir at bashkirtsev dot com
4 years ago
At least under PHP 5.5.18 use of this function followed by constant redefinition like:

runkit_constant_remove("CONSTANT");
define("CONSTANT", "value");

may cause the constant to go into inconsistent state: from run-to-run var_dump(CONSTANT); may return NULL while $s = CONSTANT;  will cause "Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 1714381161 bytes)" (note that 1G of memory configured and it is still not enough). On some runs code behaves as expected.

I believe runkit doing some low level manipulation with pointers and perhaps it is just some form of bug. Just stay wary: fiddling around with PHP on low level likely to cause unexpected results.

官方地址:https://www.php.net/manual/en/function.runkit-constant-remove.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3