Skip to content
Snippets Groups Projects
Commit c48385e7 authored by Ulrich Block's avatar Ulrich Block
Browse files

Update index-wp-redis.php

parent 89c8f144
No related branches found
No related tags found
No related merge requests found
<?php <?php
// Start the timer so we can track the page load time
$start = microtime();
function getMicroTime($t)
{
list($usec, $sec) = explode(" ", $t);
return ((float) $usec + (float) $sec);
}
$seconds_cache_redis = 60 * 60 * 12; // 12 hours by default, you can change in this in wp-admin options page $seconds_cache_redis = 60 * 60 * 12; // 12 hours by default, you can change in this in wp-admin options page
$ip_of_your_website = '64.90.38.145'; //You must set this to the IP of your website $ip_of_your_website = '127.0.0.1'; //You must set this to the IP of your website
$secret_string = "changeme"; $secret_string = "changeme";
/*This is if you want to manually refresh the cache /*This is if you want to manually refresh the cache
ex: http://example.com/sample-post?refresh=changeme */ ex: http://example.com/sample-post?refresh=changeme */
// so we don't confuse the cloudflare server // so we don't confuse the cloudflare server
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP']; $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
} }
define('WP_USE_THEMES', true); define('WP_USE_THEMES', true);
// Start the timer so we can track the page load time
$start = microtime();
include("wp-content/plugins/wp-redis-cache/predis5.2.php"); //we need this to use Redis inside of PHP
$redis = new Predis_Client();
$current_url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $current_url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$current_url = str_replace("?refresh=$secret_string", '', $current_url); //clean up the URL $current_url = str_replace("?refresh=$secret_string", '', $current_url); //clean up the URL
$current_url = str_replace("&refresh=$secret_string", '', $current_url); $current_url = str_replace("&refresh=$secret_string", '', $current_url);
$redis_key = md5($current_url); $redis_key = md5($current_url);
try {
// check if PECL Extension is available
if (class_exists('Redis')) {
$redis = new Redis();
// Sockets can be used as well '/tmp/redis.sock'
// documentation can be found at https://github.com/nicolasff/phpredis/#connection
$redis->connect('127.0.0.1');
} else // Fallback to predis5.2.php
{
include("wp-content/plugins/wp-redis-cache/predis5.2.php"); //we need this to use Redis inside of PHP
$redis = new Predis_Client();
}
} catch (Exception $e) {
$redisError=true;
}
//Either manual refresh cache by adding ?refresh=secret_string after the URL or somebody posting a comment //Either manual refresh cache by adding ?refresh=secret_string after the URL or somebody posting a comment
if (isset($_GET['refresh']) || $_GET['refresh'] == $secret_string || ($_SERVER['HTTP_REFERER'] == $current_url && $_SERVER['REQUEST_URI'] != '/' && $_SERVER['REMOTE_ADDR'] != $ip_of_your_website)) { if (!isset($redisError) && (isset($_GET['refresh']) || $_GET['refresh'] == $secret_string || ($_SERVER['HTTP_REFERER'] == $current_url && $_SERVER['REQUEST_URI'] != '/' && $_SERVER['REMOTE_ADDR'] != $ip_of_your_website))) {
$redis->del($redis_key); $redis->del($redis_key);
require('./wp-blog-header.php'); require('./wp-blog-header.php');
...@@ -66,10 +85,7 @@ if (isset($_GET['refresh']) || $_GET['refresh'] == $secret_string || ($_SERVER[' ...@@ -66,10 +85,7 @@ if (isset($_GET['refresh']) || $_GET['refresh'] == $secret_string || ($_SERVER['
require('./wp-blog-header.php'); require('./wp-blog-header.php');
} }
} else if (($_SERVER['REMOTE_ADDR'] != $ip_of_your_website && strstr($current_url, 'preview=true') == true) || isset($redisError)) {
} else if ($_SERVER['REMOTE_ADDR'] != $ip_of_your_website && strstr($current_url, 'preview=true') == true) {
require('./wp-blog-header.php'); require('./wp-blog-header.php');
} }
// else { // This is what your server should get if no cache exists //depricated, as the ob_start() is cleaner // else { // This is what your server should get if no cache exists //depricated, as the ob_start() is cleaner
...@@ -84,14 +100,3 @@ if ($_SERVER['REMOTE_ADDR'] != $ip_of_your_website) { ...@@ -84,14 +100,3 @@ if ($_SERVER['REMOTE_ADDR'] != $ip_of_your_website) {
$time = (@getMicroTime($end) - @getMicroTime($start)); $time = (@getMicroTime($end) - @getMicroTime($start));
echo "<!-- Cache system by Benjamin Adams. Page generated in " . round($time, 5) . " seconds. -->"; echo "<!-- Cache system by Benjamin Adams. Page generated in " . round($time, 5) . " seconds. -->";
} }
function getMicroTime($t)
{
list($usec, $sec) = explode(" ", $t);
return ((float) $usec + (float) $sec);
}
?>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment