This commit is contained in:
HB9HIL
2026-02-01 19:07:17 +01:00
parent 50aea5ccd4
commit 549307e5f1
7 changed files with 32 additions and 29 deletions

View File

@@ -6,7 +6,7 @@
* *
* This content is released under the MIT License (MIT) * This content is released under the MIT License (MIT)
* *
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology * Copyright (c) 2019 - 2022, CodeIgniter Foundation
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
@@ -30,6 +30,7 @@
* @author EllisLab Dev Team * @author EllisLab Dev Team
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/) * @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/) * @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
* @license https://opensource.org/licenses/MIT MIT License * @license https://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com * @link https://codeigniter.com
* @since Version 2.0.0 * @since Version 2.0.0
@@ -265,4 +266,4 @@ class CI_Cache extends CI_Driver_Library {
{ {
return $this->_adapter; return $this->_adapter;
} }
} }

View File

@@ -6,7 +6,7 @@
* *
* This content is released under the MIT License (MIT) * This content is released under the MIT License (MIT)
* *
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology * Copyright (c) 2019 - 2022, CodeIgniter Foundation
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
@@ -30,6 +30,7 @@
* @author EllisLab Dev Team * @author EllisLab Dev Team
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/) * @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/) * @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
* @license https://opensource.org/licenses/MIT MIT License * @license https://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com * @link https://codeigniter.com
* @since Version 2.0.0 * @since Version 2.0.0

View File

@@ -6,7 +6,7 @@
* *
* This content is released under the MIT License (MIT) * This content is released under the MIT License (MIT)
* *
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology * Copyright (c) 2019 - 2022, CodeIgniter Foundation
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
@@ -30,6 +30,7 @@
* @author EllisLab Dev Team * @author EllisLab Dev Team
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/) * @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/) * @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
* @license https://opensource.org/licenses/MIT MIT License * @license https://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com * @link https://codeigniter.com
* @since Version 2.0 * @since Version 2.0

View File

@@ -6,7 +6,7 @@
* *
* This content is released under the MIT License (MIT) * This content is released under the MIT License (MIT)
* *
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology * Copyright (c) 2019 - 2022, CodeIgniter Foundation
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
@@ -30,6 +30,7 @@
* @author EllisLab Dev Team * @author EllisLab Dev Team
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/) * @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/) * @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
* @license https://opensource.org/licenses/MIT MIT License * @license https://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com * @link https://codeigniter.com
* @since Version 2.0 * @since Version 2.0

View File

@@ -6,7 +6,7 @@
* *
* This content is released under the MIT License (MIT) * This content is released under the MIT License (MIT)
* *
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology * Copyright (c) 2019 - 2022, CodeIgniter Foundation
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
@@ -30,6 +30,7 @@
* @author EllisLab Dev Team * @author EllisLab Dev Team
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/) * @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/) * @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
* @license https://opensource.org/licenses/MIT MIT License * @license https://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com * @link https://codeigniter.com
* @since Version 2.0 * @since Version 2.0

View File

@@ -6,7 +6,7 @@
* *
* This content is released under the MIT License (MIT) * This content is released under the MIT License (MIT)
* *
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology * Copyright (c) 2019 - 2022, CodeIgniter Foundation
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
@@ -30,6 +30,7 @@
* @author EllisLab Dev Team * @author EllisLab Dev Team
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/) * @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/) * @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
* @license https://opensource.org/licenses/MIT MIT License * @license https://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com * @link https://codeigniter.com
* @since Version 3.0.0 * @since Version 3.0.0
@@ -58,7 +59,7 @@ class CI_Cache_redis extends CI_Driver
'host' => '127.0.0.1', 'host' => '127.0.0.1',
'password' => NULL, 'password' => NULL,
'port' => 6379, 'port' => 6379,
'timeout' => 0, 'timeout' => 0.0,
'database' => 0 'database' => 0
); );
@@ -69,7 +70,6 @@ class CI_Cache_redis extends CI_Driver
*/ */
protected $_redis; protected $_redis;
/** /**
* del()/delete() method name depending on phpRedis version * del()/delete() method name depending on phpRedis version
* *
@@ -95,6 +95,7 @@ class CI_Cache_redis extends CI_Driver
* if a Redis connection can't be established. * if a Redis connection can't be established.
* *
* @return void * @return void
* @throws RedisException
* @see Redis::connect() * @see Redis::connect()
*/ */
public function __construct() public function __construct()
@@ -132,26 +133,21 @@ class CI_Cache_redis extends CI_Driver
$this->_redis = new Redis(); $this->_redis = new Redis();
try // The following calls used to be wrapped in a try ... catch
// and just log an error, but that only causes more errors later.
if ( ! $this->_redis->connect($config['host'], ($config['host'][0] === '/' ? 0 : $config['port']), $config['timeout']))
{ {
if ( ! $this->_redis->connect($config['host'], ($config['host'][0] === '/' ? 0 : $config['port']), $config['timeout'])) log_message('error', 'Cache: Redis connection failed. Check your configuration.');
{
log_message('error', 'Cache: Redis connection failed. Check your configuration.');
}
if (isset($config['password']) && ! $this->_redis->auth($config['password']))
{
log_message('error', 'Cache: Redis authentication failed.');
}
if (isset($config['database']) && $config['database'] > 0 && ! $this->_redis->select($config['database']))
{
log_message('error', 'Cache: Redis select database failed.');
}
} }
catch (RedisException $e)
if (isset($config['password']) && ! $this->_redis->auth($config['password']))
{ {
log_message('error', 'Cache: Redis connection refused ('.$e->getMessage().')'); log_message('error', 'Cache: Redis authentication failed.');
}
if (isset($config['database']) && $config['database'] > 0 && ! $this->_redis->select($config['database']))
{
log_message('error', 'Cache: Redis select database failed.');
} }
} }
@@ -167,7 +163,7 @@ class CI_Cache_redis extends CI_Driver
{ {
$data = $this->_redis->hMGet($key, array('__ci_type', '__ci_value')); $data = $this->_redis->hMGet($key, array('__ci_type', '__ci_value'));
if ($data['__ci_value'] !== FALSE && $this->_redis->sIsMember('_ci_redis_serialized', $key)) if ($data === FALSE || $this->_redis->sIsMember('_ci_redis_serialized', $key))
{ {
return FALSE; return FALSE;
} }
@@ -227,6 +223,7 @@ class CI_Cache_redis extends CI_Driver
} }
else else
{ {
$this->_redis->expireAt($id, time() + $ttl);
$this->_redis->{static::$_sRemove_name}('_ci_redis_serialized', $id); $this->_redis->{static::$_sRemove_name}('_ci_redis_serialized', $id);
} }

View File

@@ -6,7 +6,7 @@
* *
* This content is released under the MIT License (MIT) * This content is released under the MIT License (MIT)
* *
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology * Copyright (c) 2019 - 2022, CodeIgniter Foundation
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
@@ -30,6 +30,7 @@
* @author EllisLab Dev Team * @author EllisLab Dev Team
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/) * @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/) * @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
* @license https://opensource.org/licenses/MIT MIT License * @license https://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com * @link https://codeigniter.com
* @since Version 3.0.0 * @since Version 3.0.0
@@ -41,7 +42,7 @@ defined('BASEPATH') OR exit('No direct script access allowed');
* CodeIgniter Wincache Caching Class * CodeIgniter Wincache Caching Class
* *
* Read more about Wincache functions here: * Read more about Wincache functions here:
* https://secure.php.net/manual/en/ref.wincache.php * https://www.php.net/manual/en/ref.wincache.php
* *
* @package CodeIgniter * @package CodeIgniter
* @subpackage Libraries * @subpackage Libraries