robinn / phpcacheadmin
A web dashboard for your favorite caching system.
Installs: 415
Dependents: 1
Suggesters: 0
Security: 0
Stars: 289
Watchers: 4
Forks: 10
Open Issues: 0
Type:project
Requires
- php: >=7.4
- twig/twig: ^3.8
Requires (Dev)
- clue/phar-composer: ^1.4
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.6
Suggests
- ext-apcu: Required for the APCu dashboard.
- ext-memcache: Required for the Memcache dashboard.
- ext-memcached: Required for the Memcached dashboard.
- ext-redis: Required for use the Redis dashboard.
- ext-zend-opcache: Required for use the OPCache dashboard.
- ext-zlib: Required for encoding/decoding with gz* functions.
- predis/predis: Required for use the Redis dashboard, when Redis extension is not installed.
README
A web dashboard for your favorite caching system.
Installation
Unzip the archive and launch index.php in a web browser. No installation is required.
However, it is highly recommended (although not required) to run composer install
.
If you use the defaults (e.g. Redis, Memcached servers), everything should work out of the box.
To customize the configuration, do not edit config.dist.php
directly, but copy it into config.php
.
Updating
Replace all files and delete the tmp
folder (this folder contains only compiled Twig templates).
Docker
https://hub.docker.com/r/robinn/phpcacheadmin
Run with single command:
docker run -p 8080:80 -d --name phpcacheadmin -e "PCA_REDIS_0_HOST=redis_host" -e "PCA_REDIS_0_PORT=6379" -e "PCA_MEMCACHED_0_HOST=memcached_host" -e "PCA_MEMCACHED_0_PORT=11211" robinn/phpcacheadmin
Or use it in docker-compose.yml
version: '3' services: phpcacheadmin: image: robinn/phpcacheadmin ports: - "8080:80" #volumes: # If you want to use config.php instead of ENV variables # - "./config.php:/var/www/html/config.php" environment: - PCA_REDIS_0_HOST=redis - PCA_REDIS_0_PORT=6379 - PCA_MEMCACHED_0_HOST=memcached - PCA_MEMCACHED_0_PORT=11211 links: - redis - memcached redis: image: redis memcached: image: memcached
Environment variables
All keys from the config file are supported ENV variables,
they just must start with PCA_
prefix.
Options with an array can be set using "dot notation" but use _
instead of a dot.
Or you can even use JSON (e.g. Redis SSL option).
Redis:
PCA_REDIS_0_NAME
The server name (optional).PCA_REDIS_0_HOST
Optional when a path is specified.PCA_REDIS_0_PORT
Optional when the default port is used.PCA_REDIS_0_SCHEME
Connection scheme (optional). If you need a TLS connection, set it totls
.PCA_REDIS_0_SSL
SSL options for TLS. Requires Redis >= 6.0 (optional). You can set value as JSON{"cafile":"private.pem","verify_peer":true}
.PCA_REDIS_0_DATABASE
Default database (optional).PCA_REDIS_0_USERNAME
ACL - requires Redis >= 6.0 (optional).PCA_REDIS_0_PASSWORD
Optional.PCA_REDIS_0_AUTHFILE
File with a password, e.g. Docker secrets (optional).PCA_REDIS_0_PATH
Unix domain socket (optional).PCA_REDIS_0_DATABASES
Number of databases, use this if the CONFIG command is disabled (optional).PCA_REDIS_0_SCANSIZE
Number of keys, the server will use the SCAN command instead of KEYS (optional).
Memcached:
PCA_MEMCACHED_0_NAME
The server name (optional).PCA_MEMCACHED_0_HOST
Optional when a path is specified.PCA_MEMCACHED_0_PORT
Optional when the default port is used.PCA_MEMCACHED_0_PATH
Unix domain socket (optional).
Open config file for more info.
To add another server, add the same environment variables, but change
0
to1
(2
for third server and so on).
Requirements
- PHP >= 7.4
- Redis server >= 3.0.0
- Memcached server >= 1.4.31. If you do not see the keys, you need to enable
lru_crawler
. SASL is not supported because there is no way to get the keys.
It is not necessary to have all dashboards enabled.
Custom Dashboards
- FileCache (
robinn/cache
) dashboard.