PHP Velho Oeste 2024

runkit_constant_remove

(PECL runkit >= 0.7.0)

runkit_constant_remove 定義済みの定数を削除する

説明

runkit_constant_remove ( string $constname ) : bool

パラメータ

constname

削除する定数名。グローバル定数を表す文字列、あるいは classname::constname 形式でクラス定数を示す。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

参考

add a note add a note

User Contributed Notes 1 note

up
4
vladimir at bashkirtsev dot com
9 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.
To Top