我有一个在 Nginx 和 PHP-FPM(PHP 8.0)上运行 WordPress 的网络服务器。
当 PHP 文件发生更改时,它将被一个单独的程序检测到,并且opcache_reset()
被重复调用,直到成功。由于opcache_reset()
在 CLI 上不起作用,因此它通过 FastCGI 接口调用。
有时,opcache_reset()
它会持续返回false
几秒钟。在最坏的情况下,它会无限期地持续下去。在这种情况下,PHP-FPM 进程正在等待opcache_reset()
成功。
当opcache_reset()
返回时false
,opcache_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