Download the PHP package rdebug/midi without Composer

On this page you can find all versions of the php package rdebug/midi. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package midi

RDebug - Real Debugger

Gitter License

Translation

1. Introduction

Rdebug is an open source tool chain that focusing on efficiency of daily developing, testing and debugging for developers. The code will be robust.

1.1 Background

As micro-service architecture makes services isomerous, easy-to-deploy and superbly extensible, large systems are divided into several micro services.

But, micro-service architecture is not a silver bullet. It has several drawbacks. One service is divided into several small services, test environment becomes hard to maintain. Unit test needs to mock downstream services. This will downgrade the efficiency of developing, and increase production bugs.

We do believe this industry needs an evolution.

1.2 Principle

Efficiency improvement, release cycle reduction, code quality improvement, production bug reduction

1.3 When to use

Suitable for old api refactoring that traffic have already been recorded.

Not suitable for new api or api that has no traffic recorded.

Support for new api is under investigation.

2. Quick Started

Traffic Recording

Traffic Replaying

Three ways to replay: replay from source, replay by midi.phar, replay by composer vendor/bin.

PHP Example

3. Technical Details

We are using real production traffic to test on non-production environment. So, the core features of Rdebug are traffic recording and traffic replaying.

3.1 Koala & Koala-libc

Koala and Koala-libc is the engine of Rdebug.

Because the problems such as RPC tracing, libc interception that a traffic replaying system may concern is what a traffic recording system concerns. The traffic recording and replaying system shares the same engine.

Koala

Koala is written in Go, libc contains some c++ code for interception part which will complied to koala-recorder.so and koala-replayer.so

Koala support replaying and recording separately as well as simultaneously.

For more details: koala 。

Koala-libc

koala-libc is written in C, and compiled to koala-libc.so

Go does not support fork. To avoid problems bring by PHP-FPM fork worker, you need to inject koala-libc.so into parent process of PHP. So that koala-libc.so will forward requests libc intercepted to *koala-recorder.so when accept in child process

For more details: koala-libc 。

3.2 Midi

Midi is a traffic replay client for PHP using command line written in PHP.

koala-replayer.so is embedded in Midi, and it can replay production traffic against new code, analyze test result, generate diff report, trace report, coverage report.

Midi support Xdebug.

For more details: midi 。

4. Compile

4.1 Requirement

Koala & Koala-libc

Midi

4.2 Compile Koala-libc

will generate ../output/libs/koala-libc.so

4.3 Compile Koala

will generate ../output/libs/koala-recorder.so and ../output/libs/koala-replayer.so

4.4 Compile midi.phar

Before compile midi.pahr, recommend compile koala-replayer.so at your system and store in php/midi/res/replayer directory.

php/midi/res/replayer/koala-replayer.so in repository is for macOS.

will generate ../output/bin/midi.phar

Default phar will not include DiPlugin plugin, which is an internal plugin of didi.

If your want to compile with DiPlugin plugin:

5. Usage

5.1 Traffic Recording

Record traffic in file or Elastic.

Set environment variable KOALA_RECORD_TO_DIR to save record to specified dir

Inject so. Use DYLD_INSERT_LIBRARIES in macOs or LD_PRELOAD in Linux

For more details: Recorder。

5.1.1 macOS Recording

5.1.2 Linux Recording

Koala support writing to Elastic by replacing KOALA_RECORD_TO_DIR with KOALA_RECORD_TO_ES which value is elastic write url

5.2 Traffic Replay

Traffic replaying is to replay recorded traffic in production against non-production environment. You need only to deploy your code w/o deploying downstream services.

Below is a simple example of replaying with '-f', which specified the file to replay.

5.2.1 Replay

For more details: Replay

Use -v, -vv or -vvv for more verbose log.

5.2.2 Report

Use -R-T-C to generate:Replay report, Trace report, Coverage report

For more details: Midi。

6. More

6.1 Translation

6.2 Documentation

6.3 Contribute

Any contributions are welcome. More Details

6.4 Contract

6.5 License

Rdebug is licensed under the Apache 2.0 License. LICENSE

6.6 Contributors

Special thanks to TaoWen Developer of Koala & Koala-libc.

Thanks to all the people who contribute.


All versions of midi with dependencies

PHP Build Version
Package Version
Requires ext-json Version *
ext-dom Version *
symfony/process Version ^3.3
symfony/finder Version ^3.3
symfony/console Version ^3.3
symfony/stopwatch Version ^3.3
symfony/event-dispatcher Version ^3.3
lisachenko/protocol-fcgi Version ^1.1
pimple/pimple Version ^3.2
guzzlehttp/guzzle Version ^6.3
clue/redis-protocol Version ^0.3.1
twig/twig Version ^2.0
symfony/yaml Version ^3.3
apache/thrift Version ^0.12.0
phpunit/php-code-coverage Version 5.3.2
vaimo/composer-patches Version 3.23.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package rdebug/midi contains the following files

Loading the files please wait ...