【问题标题】:How to use opcache_reset function?如何使用 opcache_reset 函数?
【发布时间】:2019-09-21 00:32:02
【问题描述】:

我在使用 opcache_reset 函数时遇到了一些麻烦。 我正在做一个 Symfony 2 项目。我必须使用这个功能,所以我创建了一个应用这个功能的路由,然后它将我重定向到主页。

但是我的函数想从我的命名空间调用 opcache_reset 函数,有没有办法告诉 opcache_reset 函数是“本机”并调用正确的函数?

这是我的错误:

 Attempted to call function "opcache_reset" from namespace "AppBundle\Controller".

这是我的功能:

public function resetOpcacheAction(Request $request) {
    try{
        opcache_reset()

    } catch(\Exception $e){

    }
    return $this->redirect('homepage');
}

【问题讨论】:

  • \opcache_reset()一样称呼它。
  • 感谢 Daan,但它现在向我显示了另一个错误:“尝试从全局命名空间调用函数“opcache_reset””。我尝试添加“使用函数 opcache_reset”,它也不起作用。 PHPStorm 建议我将“ext-zend-opcache”添加到我的 composer.json 中。我认为它不应该告诉我这个,因为 OPCache 是原生的,不是吗?
  • 不是原生的,请查看install instructions
  • 您确定已启用 OpCache 扩展吗?之后,方法调用前就不需要使用反斜杠了
  • 好的,我的错误是我错过了取消注释我的 php.ini 中的一行...它现在可以工作了,谢谢!另一个问题是,完全重启包括 PHP 在内的服务,或者在投入生产后调用 opcache_reset 函数有什么区别?是不是很相似?谢谢你!

标签: php apc opcache


【解决方案1】:

此函数重置整个操作码缓存。调用 opcache_reset() 后,所有脚本将在下次命中时重新加载并重新解析。

什么是opchache?

OpCache – 将预编译的脚本字节码存储在内存中。 由于每个 PHP 脚本都是在运行时编译的,因此一部分执行时间用于将人类可读的代码转换为机器可以理解的代码。像 OpCache、APC 或 Xcache 这样的字节码缓存引擎只执行一次——在特定 PHP 文件的第一次执行期间。 然后将预编译的脚本存储在内存中,这应该会提高我们的 PHP 应用程序的性能。

这样使用:-

opcache_reset();

参考链接:-https://hotexamples.com/examples/-/-/opcache_reset/php-opcache_reset-function-examples.html

【讨论】:

  • 这与给定的错误消息有什么关系?
猜你喜欢
  • 2021-11-26
  • 2011-08-21
  • 1970-01-01
  • 2019-03-27
  • 2021-12-02
  • 2021-11-22
  • 2018-01-04
  • 2014-06-25
  • 2011-11-14
相关资源
最近更新 更多