fix: resolve RedisCache array offset error and improve discovery diagnostics

- Fix RedisCache driver to handle MGET failures gracefully with fallback
- Add comprehensive discovery context comparison debug tools
- Identify root cause: WEB context discovery missing 166 items vs CLI
- WEB context missing RequestFactory class entirely (52 vs 69 commands)
- Improved exception handling with detailed binding diagnostics
This commit is contained in:
2025-09-12 20:05:18 +02:00
parent 8040d3e7a5
commit e30753ba0e
46990 changed files with 10789682 additions and 89639 deletions

View File

@@ -39,9 +39,18 @@ final readonly class RedisCache implements CacheDriver, Scannable
$prefixedKeys = array_map(fn ($key) => $this->prefixKey($key), $keys);
$values = $this->redis->mget($prefixedKeys);
// Handle case where Redis MGET fails and returns false
if ($values === false) {
// Fallback to individual GET operations
$values = [];
foreach ($prefixedKeys as $prefixedKey) {
$values[] = $this->redis->get($prefixedKey);
}
}
$items = [];
foreach ($keys as $index => $key) {
$value = $values[$index];
$value = $values[$index] ?? false;
if ($value !== false) {
$items[] = CacheItem::hit($key, $value);
} else {