opcache, file caching: Avoid problems with multiple pools/users
オープン
まだ誰も着手していません。
Bug
Extension: opcache
Status: Needs Triage
- 主要言語
- C
- スター
- 40.4k
- フォーク
- 8.2k
- 平均マージ
- 2日 13時間
- マージ済み PR(30日)
- 96
説明
Description
It can happen that files in the file_cache collide. If they come from separate pools with separate users it can happen that one pool/user added a file and it can't be opened/overwritten by the other.
Can this be avoided by using the full file-path in the cache, maybe placeholders for the poolname or so? If those are separate pools then separate owners would not cause a collision.
PHP Version
PHP 8.5.7 (cli) (built: Jun 2 2026 20:59:56) (NTS gcc x86_64)
Copyright (c) The PHP Group
Built by Remi's RPM repository <https://rpms.remirepo.net/> #StandWithUkraine
Zend Engine v4.5.7, Copyright (c) Zend Technologies
with Zend OPcache v8.5.7, Copyright (c), by Zend Technologies
Operating System
RHEL 9
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、OPcache の file_cache の処理と、分離された pool とユーザーに対してキャッシュパスがどのように導出されるかを追跡します。衝突を確認し、キャッシュされたファイルの追加、オープン、または上書き時に、ある pool/user が別の pool/user をブロックしないことを完了条件とします。この issue では、特定のソースファイルやテストは指定されていません。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- c, php
- 領域
- backend, performance
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100