Bug #77173 [Com]: include and new anonymous class bug
| From: | admin at yurunsoft dot com | Date: | Tue, 20 Nov 2018 00:47:48 +0000 |
| Subject: | Bug #77173 [Com]: include and new anonymous class bug | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-218057@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=77173&edit=1
ID: 77173
Comment by: admin at yurunsoft dot com
Reported by: admin at yurunsoft dot com
Summary: include and new anonymous class bug
Status: Open
Type: Bug
Package: Scripting Engine problem
Operating System: Linux
PHP Version: 7.1.24
Block user comment: N
Private report: N
New Comment:
my extensions:
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
inotify
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pgsql
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
swoole
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zlib
I use htop to check and find that php's RES is getting higher and higher.
Previous Comments:
------------------------------------------------------------------------
[2018-11-19 11:37:13] cmb@php.net
I cannot reproduce memory issues with PHP 7.1.24. Is OPcache or
some other bytecode cache involved?
------------------------------------------------------------------------
[2018-11-19 09:54:33] spam2 at rhsoft dot net
which proves that it is a bad idea include code in a loop
------------------------------------------------------------------------
[2018-11-19 08:18:11] admin at yurunsoft dot com
you can try this code, it's ok!
<?php
class A
{
}
while(true)
{
$a = new class extends A{};
usleep(1000);
}
------------------------------------------------------------------------
[2018-11-19 07:52:03] spam2 at rhsoft dot net
what else do you expect when you include a file in and endless loop?
------------------------------------------------------------------------
[2018-11-19 05:46:46] admin at yurunsoft dot com
Description:
------------
when I include a file, the file new a anonymous class and return, more and more memory usage
Test script:
---------------
<?php
class A
{
}
file_put_contents(__DIR__ . '/tmp.php', '<?php return new class extends
A{};');
while(true)
{
$a = include __DIR__ . '/tmp.php';
usleep(1000);
}
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=77173&edit=1