opcache_reset() 一直返回 false

opcache_reset() 一直返回 false

我有一个在 Nginx 和 PHP-FPM(PHP 8.0)上运行 WordPress 的网络服务器。

当 PHP 文件发生更改时,它将被一个单独的程序检测到,并且opcache_reset()被重复调用,直到成功。由于opcache_reset()在 CLI 上不起作用,因此它通过 FastCGI 接口调用。

有时,opcache_reset()它会持续返回false几秒钟。在最坏的情况下,它会无限期地持续下去。在这种情况下,PHP-FPM 进程正在等待opcache_reset()成功。

opcache_reset()返回时falseopcache_get_status()返回包含 的值'restart_pending' => true

似乎存在资源争用,并且在某些情况下会导致死锁。哪种资源导致了此问题?

环境:

$ uname -r
5.10.197-186.748.amzn2.x86_64

$ php -v
PHP 8.0.30 (cli) (built: Aug 24 2023 20:32:30) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies

相关内容