Download the PHP package duxthefux/cachetool without Composer
On this page you can find all versions of the php package duxthefux/cachetool. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package cachetool
CacheTool - Manage cache in the CLI
CacheTool allows you to work with APCu, OPcache, and the file status cache through the CLI. It will connect to a FastCGI server (like PHP-FPM) and operate on its cache.
Why is this useful?
- Maybe you want to clear the bytecode cache without reloading php-fpm or using a web endpoint
- Maybe you want to have a cron which deals with cache invalidation
- Maybe you want to see some statistics right from the console
- And many more...
Note that, unlike APCu and Opcache, the file status cache is per-process rather than stored in shared memory. This means that running stat:clear
against PHP-FPM will only affect whichever FPM worker responds to the request, not the whole pool. Julien Pauli has written a post with more details on how the file status cache operates.
Compatibility
- CacheTool 5.x works with PHP
>=7.2
- CacheTool 4.x works with PHP
>=7.1
- CacheTool 3.x works with PHP
>=5.5.9
- CacheTool 2.x works with PHP
>=5.5.9
- CacheTool 1.x works with PHP
>=5.3.3
Installation - Latest version
Installation - old versions
Use tag name in the binary file name. E.g to download cachetool 3.2.1
which is compatible with PHP >=5.5.9
use: cachetool-3.2.1.phar
Usage (as an application)
CacheTool requires an adapter to connect to, it can be cli
, fcgi
, and web
.
The fcgi
adapter is the most common, as it connects directly to php-fpm.
You can pass an IP address or a unix socket to the --fcgi
adapter, or leave it blank and CacheTool will try to find the php-fpm socket for you. If it can't find it, it will default to 127.0.0.1:9000
.
-
You can let CacheTool find the unix socket for you, or default to IP.
-
You can connect to a fastcgi server using an IP address
-
You can connect to a fastcgi server using a unix socket
-
To connect to a chrooted fastcgi server you need to set
--fcgi-chroot
and--tmp-dir
parameters -
Using the CLI
- Using an HTTP interface
You have some useful commands that you can use
Configuration File
You can have a configuration file with the adapter configuration, allowing you to
call CacheTool without --fcgi
, --cli
, or --web
option.
The file must be named .cachetool.yml
. CacheTool will look for this file on the
current directory and in any parent directory until it finds one.
If the paths above fail it will try to load /etc/cachetool.yml
configuration file.
An example of what this file might look like is:
Will connect to fastcgi at 127.0.0.1:9000
Will connect to cli (disregarding fastcgi configuration)
CacheTool writes files to the system temporary directory (given by sys_get_temp_dir()
)
but if you want to change this, for example, if your fastcgi service is run with PrivateTemp
you can set it on the config file:
You can define the supported extensions in the config file. By default, apcu
,
and opcache
are enabled. To disable apcu
, add this to your config file:
Usage (as a library)
Add it as a dependency
If you want to use it in a Symfony 2.x project, require the 1.x
version
Create instance
You can use apcu
and opcache
functions
Proxies
CacheTool depends on Proxies
to provide functionality, by default when creating a CacheTool instance from the factory
all proxies are enabled ApcuProxy
, OpcacheProxy
and PhpProxy
, you can customize it or extend to your will like the example below:
Updating CacheTool
Running php cachetool.phar self-update
will update a phar install with the latest version.
Testing
After running composer install
, run ./vendor/bin/phpunit
Troubleshooting
[RuntimeException] Error: Unable to open primary script: /dev/shm/cachetool-584743c678dbb.php (No such file or directory) Status: 404 Not Found Content-type: text/html; charset=UTF-8 No input file specified.
This means that cachetool could not write to /dev/shm
provide a directory that cachetool can write to through php cachetool.phar --tmp-dir=/writable/dir
or configuration.
License
CacheTool is licensed under the MIT License - see the LICENSE for details
All versions of cachetool with dependencies
monolog/monolog Version ^1.0|^2.0
php Version ^7.3|^8.0
psr/log Version ^1.0
symfony/console Version ^4.0|^5.0
symfony/dependency-injection Version ^4.0|^5.0
symfony/finder Version ^4.0|^5.0
symfony/process Version ^4.0|^5.0
symfony/yaml Version ^4.0|^5.0
consolidation/self-update Version 1.x-dev