Toxiproxy PHP Client
Toxiproxy makes it easy and trivial to test network conditions, for example low-bandwidth and high-latency situations.
toxiproxy-php-client includes everything needed to get started with configuring Toxiproxy upstream connection and listen endpoints.
toxiproxy-php-client is currently compatible with
Installing via Composer
The recommended way to install
toxiproxy-php-client is through Composer.
Once that is installed and you have added
ihsw/toxiproxy-php-client to your
composer.json configuration, you can require the autoloader and start using the library.
Here is an example for creating a proxy that limits a Redis connection to 1000KB/s.
<?php require("./vendor/autoload.php"); use Ihsw\Toxiproxy\Toxiproxy; use Ihsw\Toxiproxy\ToxicTypes; use Ihsw\Toxiproxy\StreamDirections; $toxiproxy = new Toxiproxy("http://toxiproxy:8474"); $proxy = $toxiproxy->create("ihsw_example_redis_master", "127.0.0.1:6379"); $toxic = $proxy->create(ToxicTypes::BANDWIDTH, StreamDirections::UPSTREAM, 1.0, [ "rate" => 1000 ]); printf( "Listening on IP %s and port %s on behalf of 6379, with a connection that's limited to 1000KB/s\n", $proxy->getListenIp(), $proxy->getListenPort() ); $toxiproxy->delete($proxy);
Additional examples can be found in the
examples directory for expected usage.