Ich habe zwei Instanzen von Memcached eingerichtet, die auf zwei Servern ausgeführt werden. Wie richte ich die Hosts in der Joomla-Cache-Einstellung ein?Wie richte ich zwei memcached Server-Hosts in der Joomla-Cache-Einstellung ein?
Antwort
Sie haben die configuration.php Datei auf dem Stammordner bearbeiten und die Server-Details hinzufügen. Finden Sie die Cache-Zugriffe auf Variablen $caching, $cache_handler, $memcache_server_host, $memcache_server_port.
sie setzen als
public $caching = '2';
public $cache_handler = 'memcache';
public $memcache_server_host = 'localhost';//Give your memcache server address
public $memcache_server_port = '11111'; //Memcache server port
In der Bibliotheken folgt/joomla/cache/storage/memcache.php Datei fand ich diese Zeilen
/*
* This will be an array of loveliness
***@todo: multiple servers***
* $servers = (isset($params['servers'])) ? $params['servers'] : array();
*/
Wie Sie wollten Um zwei verschiedene Memcache-Server hinzuzufügen, können Sie sehen, dass es sich noch in der Entwicklung befindet. Aber es gibt einen Weg --- Durch das Hacken von Kerndateien.
nicht den angewandten Methoden VERSUCHEN UNTER IN UMWELT PRODUKTIONS
Obwohl es gefährlich ist, mit Core-Dateien zu spielen, aber Sie können, indem Sie die Methode, die ich vorschlagen, wird nun auf eigene Gefahr tun. nehmen Sie zuerst Backup.
Erstellen Sie eine Sicherungskopie der Dateien (configuration.php und libraries/joomla/cache/storage/memcache.php und libraries \ vendor \ joomla \ session \ Joomla \ Session \ Storage \ Memcache.php). In der memcache Datei nach diesem Code in der Datei
$server['host'] = $config->get('memcache_server_host', 'localhost');
$server['port'] = $config->get('memcache_server_port', 11211);
// Create the memcache connection
self::$_db = new Memcache;
self::$_db->addServer($server['host'], $server['port'], $this->_persistent);
$memcachetest = @self::$_db->connect($server['host'], $server['port']);
if ($memcachetest == false)
{
throw new RuntimeException('Could not connect to memcache server', 404);
}
Fügen Sie diesen Code unter
//Give second server details like this
$server['host2'] = $config->get('memcache_server_host2', 'localhost');
$server['port2'] = $config->get('memcache_server_port2', 11211);
// Create the memcache connection
self::$_db = new Memcache;
self::$_db->addServer($server['host2'], $server['port2'], $this->_persistent);
$memcachetest = @self::$_db->connect($server['host2'], $server['port2']);
if ($memcachetest == false)
{
throw new RuntimeException('Could not connect to memcache server', 404);
}
in der configuration.php Fügen Sie diese Zeilen
public $memcache_server_host2 = 'localhost';//Give your second memcache server address
public $memcache_server_port2 = '11111'; //Memcache second server port
Jetzt zum Speichern von Sitzungen, die Sie müssen Dateien bearbeiten, die Sitzung Cache speichert
In den Dateibibliotheken \ Vendor \ Joomla \ Sessio Joomla \ Session \ Storage \ n \ Memcache.php Sie diese Zeile finden
$this->_servers = array(
array(
'host' => isset($options['memcache_server_host']) ? $options['memcache_server_host'] : 'localhost',
'port' => isset($options['memcache_server_port']) ? $options['memcache_server_port'] : 11211
)
);
Ändern Sie diese zu
$this->_servers = array(
array(
'host' => isset($options['memcache_server_host']) ? $options['memcache_server_host'] : 'localhost',
'port' => isset($options['memcache_server_port']) ? $options['memcache_server_port'] : 11211
),
array(
'host2' => isset($options['memcache_server_host2']) ? $options['memcache_server_host2'] : 'localhost',
'port2' => isset($options['memcache_server_port2']) ? $options['memcache_server_port2'] : 11211
)
);
- 1. Wie richte ich PreAuthenticationAuthenticationProvider ein?
- 2. Wie richte ich IntelliJ auf zwei Monitoren ein?
- 3. Wie richte ich auf zwei Dezimalstellen?
- 4. Wie richte ich Emacs-Farben korrekt ein?
- 5. Wie richte ich ein Druckmakro ein, um zwei andere Makros vor dem Drucken der Seiten auszuführen
- 6. Wie richte ich TensorFlow in der Google Cloud ein?
- 7. Wie richte ich Rollen in der Firebase-Authentifizierung ein?
- 8. Wie richte ich gitlab CI-Läufer ein?
- 9. Wie richte ich eine Jcurses-Bibliothek ein?
- 10. Wie richte ich zwei Y-Achsen in Zingcharts-angularjs?
- 11. Android: Wie richte ich ein TextView richtig?
- 12. Wie richte ich einen eigenen Proxy ein?
- 13. Wie richte ich ein Django-Projekt in OSx korrekt ein?
- 14. Wie richte ich Geocoder mit google_premier ein?
- 15. Wie richte ich einen PHP-Daemon ein?
- 16. Wie richte ich ein Paketobjekt an?
- 17. Wie richte ich eine interne Website ein?
- 18. Wie richte ich die nativ-Datei ein?
- 19. Wie richte ich ein References_one in Mongoid ein?
- 20. Wie richte ich PHP und MySQL ein?
- 21. Wie richte ich ein iPhone-Entwicklungszertifikat für ANDERE mac ein
- 22. Wie richte ich das DBX-Verbindungspooling in Code ein?
- 23. Wie richte ich mehrere Quellordner in einem Eclipse-Projekt ein?
- 24. Wie richte ich eine Nummer in PHP ein?
- 25. Wie richte ich deinen Avatar in SourceTree.app ein?
- 26. Wie richte ich Jade File Watcher in Webstorm ein?
- 27. Wie richte ich einen globalen Fehlerhandler in WebApi ein?
- 28. Wie richte ich ein Div in einer Tabellenzelle vertikal aus?
- 29. Wie richte ich Remote-Browser in Karma ein?
- 30. Wie richte ich ein CMake-Projekt korrekt ein?
ich zwei memcache Server. Wie definiere ich einen anderen Host und Port? – James
@James Ich habe eine alternative Lösung gegeben. Hoffe, das funktioniert. –
danke. Scheint so, als müsste ich auf den produktionsfertigen Code von Joomla warten, da ich ihn für die Produktionsumgebung verwenden muss. – James