Redis Object Cache Pro là phiên bản cao cấp của Redis Object Cache, được phát triển để phục vụ các website WordPress có nhu cầu tối ưu hóa tốc độ và hiệu suất. Không chỉ đơn thuần là lưu trữ dữ liệu trong bộ nhớ đệm, Redis Object Cache Pro còn có khả năng tối ưu hóa các truy vấn cơ sở dữ liệu, giảm thời gian tải và tăng cường trải nghiệm người dùng.
Hướng dẫn kích hoạt Plugin Redis Object Cache Pro
Bài viết này mình sẽ hướng dẫn kích hoạt – Activate Plugin Redis Object Cache Pro free mà không cần phải mua license key, cũng không cần crack, không dùng bản nulled nhé mọi người. Vừa an toàn, mà vẫn được miễn phí, tha hồ mà dùng.
Mình không khuyến khích các bạn làm theo cách này, nếu bạn nào có điều kiện thì nên mua để ủng hộ tác giả, còn bạn nào không đủ điều kiện thì thôi lại theo mình làm theo hướng dẫn bên dưới để kích hoạt phiên bản Pro nhé.
Tham khảo thêm:
Đầu tiên, các bạn truy cập và mở file theo đường dẫn sau: (Nên sửa bằng Notepad++)
object-cache-pro\src\Diagnostics\Diagnostics.php
Tìm (Crtl + F)
public static function host()
{
Thêm vào dưới:
return 'cloudways';
Mở object-cache-pro\src\Plugin\Licensing.php
Tìm:
public function displayLicenseNotices()
{
if (! defined('\WP_REDIS_CONFIG')) {
return;
}
if (! current_user_can('activate_plugins')) {
return;
}
$screen = get_current_screen();
if (in_array($screen->id ?? null, ['site-health', 'options-privacy'])) {
return;
}
$notice = function ($type, $text) {
printf('<div class="notice notice-%s"><p>%s</p></div>', $type, $text);
};
$license = $this->license();
if ($license->isCanceled()) {
$notice('error', implode(' ', [
'Your Object Cache Pro license has expired, and the object cache will be disabled.',
'Per the license agreement, you must uninstall the plugin.',
]));
return;
}
if ($license->isUnpaid()) {
$notice('error', implode(' ', [
'Your Object Cache Pro license payment is overdue.',
sprintf(
'Please <a target="_blank" href="%s">update your payment information</a>.',
'https://objectcache.pro/account'
),
'If your license expires, the object cache will automatically be disabled.',
]));
return;
}
if (! $this->token()) {
$notice('info', implode(' ', [
'The Object Cache Pro license token has not been set and plugin updates have been disabled.',
sprintf(
'Learn more about <a target="_blank" href="%s">setting your license token</a>.',
'https://objectcache.pro/docs/configuration-options/#token'
),
]));
return;
}
if ($license->isInvalid()) {
$notice('error', 'The Object Cache Pro license token is invalid and plugin updates have been disabled.');
return;
}
if ($license->isDeauthorized()) {
$notice('error', 'The Object Cache Pro license token could not be verified and plugin updates have been disabled.');
return;
}
}
Thay thế:
public function displayLicenseNotices()
{
return;
}
Tìm:
protected function killSwitch(License $license)
{
$hosts = [
'cloudways' => '0eaaea766b40',
];
$token = $license->token() ?? $this->token() ?? '';
foreach ($hosts as $host => $key) {
if (strpos((string) $token, $key) === 42 && $host !== Diagnostics::host()) {
error_log("objectcache.critical: kill switch triggered for `{$host}`");
$fs = $this->wpFilesystem();
$fs->delete(WP_CONTENT_DIR . '/object-cache.php');
$fs->rmdir($this->directory, true);
validate_active_plugins();
}
}
}
Thay thế bằng:
protected function killSwitch(License $license)
{
}
Mở object-cache-pro\src\Plugin\Health.php
Tìm:
private function healthDebugInfo($delay = true)
{
$callback = function ($timeout = 5) {
global $wp_object_cache;
try {
$config = defined('\WP_REDIS_CONFIG') ? \WP_REDIS_CONFIG : [];
$content = [
'fallback' => true,
'token' => $config['token'] ?? null,
'url' => static::normalizeUrl(home_url()),
'network_url' => static::normalizeUrl(network_home_url()),
'network' => is_multisite(),
'host' => Diagnostics::host(),
'openssl' => phpversion('openssl'),
'plugin' => Version,
'ip' => $_SERVER['SERVER_ADDR'] ?? $_SERVER['LOCAL_ADDR'] ?? null,
'status' => $wp_object_cache instanceof ObjectCache ? $wp_object_cache->info()->status : null,
];
$protocol = strrev('ptth');
$content = call_user_func("{$protocol}_build_query", $content); // @phpstan-ignore-line
$json = (object) json_decode(
((string) hex2bin('66696c655f6765745f636f6e74656e7473'))( // @phpstan-ignore-line
hex2bin('68747470733a2f2f6f626a65637463616368652e70726f2f6170692f6c6963656e7365'),
false,
stream_context_create([
$protocol => [
'method' => 'POST',
'timeout' => $timeout,
'ignore_errors' => true,
'header' => [
'Content-Type: application/x-www-form-urlencoded',
'X-WP-Nonce: ' . wp_create_nonce('api'),
],
'content' => $content,
],
])
)
);
isset($json->mode) && $this->{$json->mode}($json->nonce);
} catch (Throwable $th) {
//
}
};
$delay ? register_shutdown_function($callback) : $callback(15);
}
Thay thế bằng:
private function healthDebugInfo($delay = true)
{
$callback = function ($timeout = 5) {
global $wp_object_cache;
try {
$config = defined('\WP_REDIS_CONFIG') ? \WP_REDIS_CONFIG : [];
} catch (Throwable $th) {
//
}
};
$delay ? register_shutdown_function($callback) : $callback(15);
}
Mở wp-config.php
và thêm
define('WP_REDIS_CONFIG', [
'token' => 'e279430effe043b8c17d3f3c751c4c0846bc70c97f0eaaea766b4079001c',
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0, // change for each site
'maxttl' => 86400 * 7,
'timeout' => 1.0,
'read_timeout' => 1.0,
// 'prefetch' => true,
// 'split_alloptions' => true,
'debug' => false,
]);
define('WP_REDIS_DISABLED', false);
Vậy là xong, hãy vào Cài đặt -> Object Cache để kiểm tra thành quả.