From f8243b5da9be52a969d35c7e9d89df95178b6aae Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Sat, 19 Nov 2022 15:18:54 +0000
Subject: [PATCH] Add the memcached plugin (object caching)

---
 composer.json        |  6 ++++--
 composer.lock        | 22 ++++++++++++++++++++--
 docker/build.sh      |  1 +
 docker/wp-config.php | 26 ++++++++++++++++++--------
 4 files changed, 43 insertions(+), 12 deletions(-)

diff --git a/composer.json b/composer.json
index cf08858e..cc3bd782 100644
--- a/composer.json
+++ b/composer.json
@@ -131,7 +131,8 @@
         "wpackagist-plugin/event-organiser": "3.12.1",
         "noblogs/ai-authenticate-rest-api-plugin": "0.0.3",
         "wpackagist-plugin/multisite-custom-css": "1.0",
-        "wpackagist-plugin/activitypub": "0.13.4"
+        "wpackagist-plugin/activitypub": "0.13.4",
+        "wpackagist-plugin/memcached": "4.0.0"
     },    
     "extra": {
         "wordpress-install-dir": "app",
@@ -198,7 +199,8 @@
             ],
             "app/wp-content": [
                 "package:stuttter/ludicrousdb:ludicrousdb/drop-ins/db.php,ludicrousdb/drop-ins/db-error.php",
-                "package:wpackagist-plugin/wp-super-cache:advanced-cache.php"
+                "package:wpackagist-plugin/wp-super-cache:advanced-cache.php",
+                "package:wpackagist-plugin/memcached:object-cache.php"
             ],
             "app": [
                 "package:noblogs/r2db:db-config.php,nginx-map/wp-nginx-map-json.php,nginx-map/wp-nginx-map.php"
diff --git a/composer.lock b/composer.lock
index 452325fa..8b4e04ff 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "48f8128868e7383a16584bf851085bcb",
+    "content-hash": "f3588bfe722e90bd8a683069b0a906bf",
     "packages": [
         {
             "name": "bjornjohansen/wplang",
@@ -1116,6 +1116,24 @@
             "type": "wordpress-plugin",
             "homepage": "https://wordpress.org/plugins/katex/"
         },
+        {
+            "name": "wpackagist-plugin/memcached",
+            "version": "4.0.0",
+            "source": {
+                "type": "svn",
+                "url": "https://plugins.svn.wordpress.org/memcached/",
+                "reference": "tags/4.0.0"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://downloads.wordpress.org/plugin/memcached.4.0.0.zip"
+            },
+            "require": {
+                "composer/installers": "^1.0 || ^2.0"
+            },
+            "type": "wordpress-plugin",
+            "homepage": "https://wordpress.org/plugins/memcached/"
+        },
         {
             "name": "wpackagist-plugin/more-privacy-options",
             "version": "4.6",
@@ -2171,5 +2189,5 @@
         "php": ">=7.1"
     },
     "platform-dev": [],
-    "plugin-api-version": "2.3.0"
+    "plugin-api-version": "2.0.0"
 }
diff --git a/docker/build.sh b/docker/build.sh
index ee4f6c65..491a07f5 100755
--- a/docker/build.sh
+++ b/docker/build.sh
@@ -22,6 +22,7 @@ PACKAGES="
         php-imagick
         php-intl
         php-mysql
+        php-memcache
         php-memcached
         php-mbstring
         php-xml
diff --git a/docker/wp-config.php b/docker/wp-config.php
index 8a9d933a..72a27bf3 100644
--- a/docker/wp-config.php
+++ b/docker/wp-config.php
@@ -118,14 +118,15 @@ define('SMTP_DEBUG', 0);
  *
  * @since 2.6.0
  */
-define('AUTH_KEY',         $noblogs_config['secrets']['auth_key']);
-define('SECURE_AUTH_KEY',  $noblogs_config['secrets']['secure_auth_key']);
-define('LOGGED_IN_KEY',    $noblogs_config['secrets']['logged_in_key']);
-define('NONCE_KEY',        $noblogs_config['secrets']['nonce_key']);
-define('AUTH_SALT',        $noblogs_config['secrets']['auth_salt']);
-define('SECURE_AUTH_SALT', $noblogs_config['secrets']['secure_auth_salt']);
-define('LOGGED_IN_SALT',   $noblogs_config['secrets']['logged_in_salt']);
-define('NONCE_SALT',       $noblogs_config['secrets']['nonce_salt']);
+define('AUTH_KEY',          $noblogs_config['secrets']['auth_key']);
+define('SECURE_AUTH_KEY',   $noblogs_config['secrets']['secure_auth_key']);
+define('LOGGED_IN_KEY',     $noblogs_config['secrets']['logged_in_key']);
+define('NONCE_KEY',         $noblogs_config['secrets']['nonce_key']);
+define('AUTH_SALT',         $noblogs_config['secrets']['auth_salt']);
+define('SECURE_AUTH_SALT',  $noblogs_config['secrets']['secure_auth_salt']);
+define('LOGGED_IN_SALT',    $noblogs_config['secrets']['logged_in_salt']);
+define('NONCE_SALT',        $noblogs_config['secrets']['nonce_salt']);
+define('WP_CACHE_KEY_SALT', $noblogs_config['secrets']['wp_cache_key_salt']);
 
 /**#@-*/
 
@@ -158,6 +159,15 @@ define ('WPLANG', '');
 /* NoSpam API endpoint (internal). */
 define('NOSPAM_API_URL', 'http://nospam.investici.org:9001');
 
+/*
+ * Memcache servers for Wordpress object caching.
+ */
+$memcached_servers = array(
+  'default' => array(
+    '127.0.0.1:7108'
+  )
+);
+
 /*
  * A/I Patch: get more replicas of the partitions in the flexihash calculations.
  */
-- 
GitLab