PrestaShop module — monitor and clear OPcache and Memcached directly from the back-office. Designed for VPS and dedicated servers. On shared hosting both caches are typically inaccessible or shared across all tenants — see the Shared hosting considerations section below.
Art Cache Manager gives store operators a single admin page to:
- See the real-time state of OPcache and Memcached without SSH access
- Clear each cache independently with a single click
- Automate cache clearing whenever PrestaShop flushes its own cache
It is particularly useful on production servers where opcache.validate_timestamps = 0 is set in the vhost (the recommended setting for performance), because PHP will never auto-detect file changes — a manual OPcache reset after every deploy becomes mandatory.
| Metric | Detail |
|---|---|
| Status | Enabled / disabled, PHP version |
| Memory | Used / free / wasted with colour-coded progress bar |
| Hit rate | Colour-coded progress bar (green ≥ 80 %, amber ≥ 50 %, red < 50 %) |
| Counters | Cached scripts, max cached keys, hits, misses |
| INI snapshot | memory_consumption, max_accelerated_files, revalidate_freq |
| Notices | validate_timestamps = 0 warning, restart pending/in-progress banner |
| Metric | Detail |
|---|---|
| Status | Active / inactive with reason (PS cache disabled, wrong adapter, …) |
| Adapter | CacheMemcached (PHP memcached ext) or CacheMemcache (PHP memcache ext) |
| Global stats | Hit rate bar, items, memory used, evictions |
| Per-server | Version, uptime, items, memory used / max, connections (multi-server setups) |
- Clear OPcache with PS cache — automatically resets OPcache whenever PrestaShop clears its cache or module lifecycle events run
- Flush Memcached with PS cache — same trigger set; disabled in the UI when Memcached is not active
| Dimension | Range |
|---|---|
| PrestaShop | 1.7.0 → 9.1 |
| PHP | 7.4 → 8.5 |
| Memcached ext | memcached ≥ 3.x and legacy memcache |
| DB | MariaDB / MySQL (standard PS requirement) |
- PHP extension
opcache(optional — OPcache panel is hidden if absent) - PHP extension
memcachedormemcache(optional — Memcached panel requires it) - PrestaShop external cache set to Memcached or Memcache in Advanced Parameters → Performance for the Memcached panel to be active
This module is designed for VPS and dedicated servers where the operator has full control over the PHP and system configuration. On shared hosting both OPcache and Memcached are typically inaccessible or shared among all tenants, making monitoring and selective clearing impractical or potentially disruptive.
Shared hosting providers often add opcache_get_status to disable_functions in php.ini as a security measure: the function exposes the list of cached files for all vhosts on the server, not just your own.
| Function | Blocked by default on shared hosting | Effect on this module |
|---|---|---|
opcache_get_status |
Often yes | Statistics panel unavailable |
opcache_reset |
Usually no | Clear button still works |
When opcache_get_status is blocked but opcache_reset is available, the module shows a "Clear OPcache (blind)" button with an amber warning. Use it with awareness: opcache_reset() resets the compiled-script cache for the entire server, not just your site — it temporarily impacts all other sites hosted on the same machine.
On a VPS or dedicated server: remove
opcache_get_statusfromdisable_functionsfor the domain's PHP-FPM pool to enable full statistics. On shared hosting managed by a third party, leave the restriction in place and use the blind-clear button only when necessary.
Memcached requires a separate system daemon (memcached) that must be installed and started at OS level. On shared hosting this daemon is almost always absent or not accessible to individual tenants.
If a Memcached daemon were accessible on a shared server, calling flush() would empty the entire Memcached instance, clearing cached data for all other sites sharing the same daemon — the same server-wide impact described above for opcache_reset().
| Scenario | OPcache monitoring | OPcache clear | Memcached monitoring | Memcached flush |
|---|---|---|---|---|
| VPS / dedicated | ✅ full stats | ✅ this server only | ✅ full stats | ✅ your daemon only |
| Shared hosting | ❌ disable_functions | ❌ daemon absent |
- Zip the
artcachemanager/directory - Go to Modules → Module Manager → Upload a module
- Upload the zip and click Install
php bin/console prestashop:module install artcachemanagerPrestaShop stores the cache on/off switch and the active adapter in
app/config/parameters.php (keys ps_cache_enable and ps_caching).
This file is written by PhpParameters::saveConfiguration() when the operator saves the Performance page. The ps_configuration database table is never updated at runtime for these settings.
This module reads parameters.php directly — the same source PrestaShop's Symfony kernel uses at boot time — so it always reflects the true current state, regardless of multi-shop context (the cache setting is global and applies to all shops identically).
When the auto-clear options are enabled, the module listens to:
| Hook | Fired by |
|---|---|
actionClearCache |
Programmatic cache clears in PS 1.7.7+ |
actionAdminPerformanceSave |
Saving the Performance admin page |
actionModuleInstallAfter |
A module has just been installed |
actionModuleUpgradeAfter |
A module has just been upgraded |
actionModuleUninstallAfter |
A module has just been uninstalled |
These hooks call opcache_reset() and/or Cache::getInstance()->flush() depending on which options are active.
artcachemanager/
├── artcachemanager.php Main module class
├── config.xml Module metadata
├── translations/
│ ├── en.php English legacy translations
│ └── it.php Italian legacy translations
├── upgrade/
│ └── upgrade-1.0.5.php Hook registration for existing installs
├── views/
│ └── templates/
│ └── admin/
│ └── configure.tpl Admin configuration page (Smarty)
├── CHANGELOG.md
├── LICENSE
└── README.md
Academic Free License 3.0 — © 2009-2026 Tecnoacquisti.com