Мы только что обновились до PHP 7.3 и испытываем странное поведение.
Когда я пытаюсь запустить следующий код, PHP вылетает с сообщением об ошибке
Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 534777856 bytes) in /............./test.php on line 2
Код:
<?php
print_r($GLOBALS);
?>
Как видите, это действительно простой скрипт с одной строкой кода. var_export работает и правильно показывает содержимое. Увеличение лимита памяти только задерживает сбой. В PHP 5.6 он работает как положено.
Кто-нибудь из вас испытывал такое же поведение в PHP 7.3? Есть ли у вас какие-либо советы, кроме использования print_r?
Спасибо
PS: это правильный вывод var_export, поэтому $ GLOBALS действительно далек от того, чтобы быть таким большим, как было предложено в сообщении об ошибке:
array(5) { ["_GET"]=> array(0) { } ["_POST"]=> array(0) { } ["_COOKIE"]=> array(3) { ["xxxx_username"]=> string(4) "xxxx" ["printcounter"]=> string(1) "4" ["PHPSESSID"]=> string(32) "793b64887bb8b857515748bbb3d7c5cb" } ["_FILES"]=> array(0) { } ["GLOBALS"]=> array(5) { ["_GET"]=> array(0) { } ["_POST"]=> array(0) { } ["_COOKIE"]=> array(3) { ["xxxx_username"]=> string(4) "xxxx" ["printcounter"]=> string(1) "4" ["PHPSESSID"]=> string(32) "793b64887bb8b857515748bbb3d7c5cb" } ["_FILES"]=> array(0) { } ["GLOBALS"]=> *RECURSION* } }