查询

opcache_invalidate()函数—用法及示例

「 使特定的文件或目录的缓存无效,强制重新编译并缓存 」


函数名称:opcache_invalidate()

适用版本:PHP 5 >= 5.5.0, PHP 7, PHP 8

函数描述:opcache_invalidate()函数用于使特定的文件或目录的缓存无效,强制重新编译并缓存。

语法:bool opcache_invalidate ( string $script [, bool $force = FALSE ] )

参数:

  • script:要使其缓存无效的文件路径或目录路径。
  • force(可选):如果设置为true,则会强制使缓存无效,并且不会检查文件的修改时间。

返回值:成功时返回true,失败时返回false。

示例1:使单个文件的缓存无效

$script = '/path/to/file.php';
if (opcache_invalidate($script)) {
    echo "缓存已成功无效化。";
} else {
    echo "缓存无效化失败。";
}

示例2:使整个目录的缓存无效

$dir = '/path/to/directory';
$force = true;
if (opcache_invalidate($dir, $force)) {
    echo "目录缓存已成功无效化。";
} else {
    echo "目录缓存无效化失败。";
}

注意事项:

  • 为了使用opcache_invalidate()函数,必须启用OPcache扩展。
  • 在使用opcache_invalidate()函数之前,应该检查OPcache扩展是否已加载和启用。
  • OPcache缓存无效化可能会导致性能下降,因为需要重新编译和缓存文件。因此,建议仅在需要时使用该函数,而不是频繁地调用它。
  • 如果未指定force参数,默认情况下,opcache_invalidate()函数会检查文件的修改时间,只有当文件被修改后才会使缓存无效。
  • 在某些情况下,可能需要重启PHP进程才能使缓存无效。
下一个函数: opcache_get_status()函数
热门PHP函数
  • dngettext()

    根据数量和语言环境选择正确的复数形式的翻译字符串

  • Ds\Map::apply()

    将给定的回调函数应用到映射中的每个值,并返回一个新的映射,其中包含应用了回调函数之后的值

  • Ds\Vector::slice()

    返回一个包含指定范围元素的新 Ds\Vector 对象,不会修改原始 Ds\Vector 对象

  • escapeshellarg()

    转义给命令行参数添加引号的字符串,以便在 shell 命令中安全使用

  • Imagick::getSizeOffset()

    获取图像的大小和偏移量

  • imap_header()

    获取指定邮件的头部信息

  • ps_arcn()

    在PostScript文档中绘制一个带有指定半径和角度的圆弧

  • RarEntry::getFileTime()

    获取 RAR 归档文件中指定文件条目的最后修改时间

  • tidy_get_output()

    获取 Tidy 扩展处理后的整个 HTML 文档作为一个字符串

  • trader_cdladvanceblock()

    计算股票市场中的“Advance Block”形态,该形态是三个连续阳线的组合,每个阳线的实体部分都比前一个阳线更小,且每个阳线的上影线和下影线都很短