Git Product home page Git Product logo

php-cache-dashboard's Introduction

PHP Cache Dashboard

A dashboard for multiple caches in PHP with support for PHP Opcache, APCu, realpath and Redis

Try it out at the demo page.

Prerequisites

  • PHP 5.3+

and one or more of the supported caches

  • PHP OpCache (opcache extension for php5, included by default in php5.5+)
  • APC or APCu extension
  • Realpath cache ( available since PHP 5.3.2+ )
  • Memcache (partially) and Memcached extension
  • Redis

Supported operations

  • View memory statistics
  • View hit rate
  • Select keys based on regular expression
  • Delete keys based on regular expression
  • Selecting all keys
  • Deleting keys without regular expressions
  • Sort on any data column
  • View entry contents

Usage

Simply drop the cache.php file somewhere on your webserver, preferably somewhere private, and that is it! Navigate to the page using your browser and you will receive cache information.

Screenshot of php-cache-dashboard

Configuring caches

Information about specific caches can be disabled by setting the ENABLE_<cache> key to false. The default code tests whether the specific cache is available and supported before enabling it.

APC / APCu

<?php
// Enable APC
define('ENABLE_APC', true);

// Disable APC
define('ENABLE_APC', false);

OPcache

<?php
// Enable OPcache
define('ENABLE_OPCACHE', true);

// Disable OPcache
define('ENABLE_OPCACHE', false);

Realpath

<?php
// Enable Realpath
define('ENABLE_REALPATH', true);

// Disable Realpath
define('ENABLE_REALPATH', false);

Redis

<?php
// Enable Redis
define('ENABLE_REDIS', true);

// Disable Redis
define('ENABLE_REDIS', false);

Redis configuration can be done by either changing the REDIS_ constants or by setting the environment variables with the same name.

Environment Variable Default Description
REDIS_HOST 127.0.0.1 The hostname of the redis instance to connect to
REDIS_PORT 6379 The TCP port number on which Redis is listening for connections
REDIS_PASSWORD null The password used to connect
REDIS_DATABASE null Set this to the database number if you want to lock the database number
REDIS_SIZE null The size of your Redis database in bytes if total size is detected incorrectly

Contributing

I really appreciate any contribution you would like to make, so don't hesitate to report an issue or submit pull requests.

About me

Hi, my name is Jorgen Evens. By day I built things (mainly in PHP and JavaScript) for Ambassify and by night I tinker around with these kinds of projects.

php-cache-dashboard's People

Contributors

gamesh avatar jorgenevens avatar krinkle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

php-cache-dashboard's Issues

Support for APCu under PHP 7

Noticed the following issues needed to be address for this to work on PHP 7 with APCu installed (without the apc-compat setting enabled).

# 1) PHP Fatal error:  Call to undefined function apc_cache_info()
# 2) PHP Warning:  Invalid argument supplied for foreach()
#     ... because 'cache_list' wasn't defined since 'user' casts to $limited = true
- apc_cache_info('user')
+ apcu_cache_info()

# PHP Fatal error:  Call to undefined function apc_sma_info()
- apc_sma_info(true)
+ apcu_sma_info(true)

- apc_fetch()
+ apcu_fetch()

- apc_delete()
+ apcu_delete()

- new ApcIterator('..')
+ new ApcuIterator('..')

# $type parameter no longer exists
- new ApcIterator('user', get_selector())
+ new ApcuIterator(get_selector())

I also recommend changing var_dump(..fetch..) to echo htmlspecialchars( var_export(..fetch.., true) ) as to ensure any HTML characters in the value are rendered as text.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.