Bug #65338 [Fbk]: Enabling both php_opcache and php_wincache AVs on shutdown
| From: | ab@php.net | Date: | Tue, 30 Jul 2013 07:06:24 +0000 |
| Subject: | Bug #65338 [Fbk]: Enabling both php_opcache and php_wincache AVs on shutdown | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-180559@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=65338&edit=1
ID: 65338
Updated by: ab@php.net
Reported by: ericsten@php.net
Summary: Enabling both php_opcache and php_wincache AVs on
shutdown
Status: Feedback
Type: Bug
Package: Reproducible crash
Operating System: Windows
PHP Version: 5.5.1
Assigned To: dmitry
Block user comment: N
Private report: N
New Comment:
@Eric, yes, one can only enable/disable it in whole. What i meant is making it
more
flexible, disabling opcache and string pool, but not affecting other features
like
user cache.
Like APCu, but there opcode cache was just cut out. Splitting the functionality
into
configurable pieces would require some effort of course. And that was actually
the
idea you reflected at the earlier post. As neither opcode cache nor interned
strings
aren't required for user cache.
Previous Comments:
------------------------------------------------------------------------
[2013-07-29 18:30:01] ericsten@php.net
@ab@php.net
Wincache.ocenabled is PHP_INI_ALL, meaning that the Wincache opcode cache can be enabled/disabled by
script or by user.ini. This is the same for Zend Opcache opcache.enabled and APC apc.enabled. To
support this, the interned strings have to be hooked at module load time. This is how all three
opcode caches implement the hooking of interned strings.
------------------------------------------------------------------------
[2013-07-27 16:56:28] phpdev at ehrhardt dot nl
@Anatol: which older versions? PHP 5.4.x users that run into this problem should upgrade to 5.4.18,
the moment that is released with this patch. Making special arrangements for older 5.4.x users would
be a waste of developer resources IMO.
And PHP 5.3 (or lower) users do not run into this, because interned_string was introduced in the
Zend engine for 5.4.
------------------------------------------------------------------------
[2013-07-27 15:25:39] ab@php.net
Jan, I meant exactly that, there still will be some users on versions lower than
5.4.17 or which is the current. The question is just whether it's worth the effort
to be aware of that.
------------------------------------------------------------------------
[2013-07-27 12:18:07] phpdev at ehrhardt dot nl
@Anatol: there is no need to disable interned strings in extensions for older PHP-versions if you
backport the patch. I do not think I have the karma to put a patch here, but this is the backport
for PHP 5.4:
http://x32.elijst.nl/zend_interned_strings_shutdown_AV.patch
Maybe except for some line numbers it is literally the same patch.
------------------------------------------------------------------------
[2013-07-27 08:30:25] ab@php.net
@Eric ok, so the catch is to use the wincache with disabled opcode cache. Whereby
interned strings are neither opcode cache nor any other functionality. The patch
would solve it only for newer PHP versions, maybe it should be possible to disable
interned strings explicitly in wincache/opcache, maybe per ini? That would solve
it also for users with older PHP without TS.
@Jan that's obvious now where people start to mix the cache engines :)
------------------------------------------------------------------------
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=65338
--
Edit this bug report at https://bugs.php.net/bug.php?id=65338&edit=1