Skip to content

Commit fd93557

Browse files
committed
switch to opcache_is_script_cached_in_file_cache(...)
1 parent 8cc7293 commit fd93557

File tree

4 files changed

+32
-20
lines changed

4 files changed

+32
-20
lines changed

ext/opcache/opcache.stub.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,6 @@ function opcache_jit_blacklist(Closure $closure): void {}
2222
*/
2323
function opcache_get_configuration(): array|false {}
2424

25-
function opcache_is_script_cached(string $filename, bool $file_cache = false): bool {}
25+
function opcache_is_script_cached(string $filename): bool {}
26+
27+
function opcache_is_script_cached_in_file_cache(string $filename): bool {}

ext/opcache/opcache_arginfo.h

Lines changed: 6 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ext/opcache/tests/gt16979.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ opcache
1414
opcache_compile_file(__FILE__);
1515

1616
var_dump(
17-
opcache_is_script_cached(__FILE__, false)
17+
opcache_is_script_cached(__FILE__)
1818
);
1919

2020
var_dump(
21-
opcache_is_script_cached(__FILE__, true)
21+
opcache_is_script_cached_in_file_cache(__FILE__)
2222
);
2323

2424
?>

ext/opcache/zend_accelerator_module.c

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -367,10 +367,6 @@ static int filename_is_in_cache(zend_string *filename)
367367

368368
static int filename_is_in_file_cache(zend_string *filename)
369369
{
370-
if (!ZCG(accel_directives).file_cache) {
371-
return 0;
372-
}
373-
374370
zend_string *realpath;
375371

376372
realpath = zend_resolve_path(filename);
@@ -1012,12 +1008,9 @@ ZEND_FUNCTION(opcache_compile_file)
10121008
ZEND_FUNCTION(opcache_is_script_cached)
10131009
{
10141010
zend_string *script_name;
1015-
bool file_cache = 0;
10161011

1017-
ZEND_PARSE_PARAMETERS_START(1, 2)
1012+
ZEND_PARSE_PARAMETERS_START(1, 1)
10181013
Z_PARAM_STR(script_name)
1019-
Z_PARAM_OPTIONAL
1020-
Z_PARAM_BOOL(file_cache)
10211014
ZEND_PARSE_PARAMETERS_END();
10221015

10231016
if (!validate_api_restriction()) {
@@ -1028,9 +1021,25 @@ ZEND_FUNCTION(opcache_is_script_cached)
10281021
RETURN_FALSE;
10291022
}
10301023

1031-
if (file_cache) {
1032-
RETURN_BOOL(filename_is_in_file_cache(script_name));
1033-
} else {
1034-
RETURN_BOOL(filename_is_in_cache(script_name));
1024+
RETURN_BOOL(filename_is_in_cache(script_name));
1025+
}
1026+
1027+
/* {{{ Return true if the script is cached in OPCache file cache, false if it is not cached or if OPCache is not running. */
1028+
ZEND_FUNCTION(opcache_is_script_cached_in_file_cache)
1029+
{
1030+
zend_string *script_name;
1031+
1032+
ZEND_PARSE_PARAMETERS_START(1, 1)
1033+
Z_PARAM_STR(script_name)
1034+
ZEND_PARSE_PARAMETERS_END();
1035+
1036+
if (!validate_api_restriction()) {
1037+
RETURN_FALSE;
10351038
}
1039+
1040+
if (!ZCG(accelerator_enabled) || !ZCG(accel_directives).file_cache) {
1041+
RETURN_FALSE;
1042+
}
1043+
1044+
RETURN_BOOL(filename_is_in_file_cache(script_name));
10361045
}

0 commit comments

Comments
 (0)