PHPackages                             shellout/shellout - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Debugging &amp; Profiling](/categories/debugging)
4. /
5. shellout/shellout

ActiveLibrary[Debugging &amp; Profiling](/categories/debugging)

shellout/shellout
=================

A tool to output debugging information to shell

101.4k3[1 issues](https://github.com/wkjagt/php-shellout/issues)PHP

Since Nov 3Pushed 12y ago1 watchersCompare

[ Source](https://github.com/wkjagt/php-shellout)[ Packagist](https://packagist.org/packages/shellout/shellout)[ RSS](/packages/shellout-shellout/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

ShellOut
========

[](#shellout)

### print\_r and ajax : nope

[](#print_r-and-ajax--nope)

Something I've found really annoying for a long time when debugging PHP code, is that `print_r` outputs to standard out and, in the case of web development, becomes part of your response. In simple projects this works fine. But if you're using a lot of ajax requests, that, for example, return json, using `print_r` becomes really annoying, because you need to dig around your browser's dev console to inspect the response, your frontend code will break because your `print_r` or `var_dump` will make your json invalid, and sometimes your printed information is not visible at all because of very mysterious reasons.

### Keep the response clean

[](#keep-the-response-clean)

Something I really wanted, is to output debugging information to the terminal (not your browser terminal, but your Mac or Linux terminal) and keep my responses clean. And that is exactly what this tool does.

It's as simple as:

1. start the "server" (which is nothig more than a listening socket that outputs what it receives). This is where your debug information will show.

```
vendor/bin/shellout shellout:listen

```

2. In your code, output for example `$_SERVER`

```
Shell::out($_SERVER);
```

3. And you'll get this in your terminal:
4.

[![image](https://camo.githubusercontent.com/49d311cceebf87634263a9b1c4b4c1a6e226a4f342f6b50063643d9421af29e1/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f3332373034382f313436313031372f63363231636165302d343438392d313165332d393930342d6538613637373761373766652e706e67)](https://camo.githubusercontent.com/49d311cceebf87634263a9b1c4b4c1a6e226a4f342f6b50063643d9421af29e1/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f3332373034382f313436313031372f63363231636165302d343438392d313165332d393930342d6538613637373761373766652e706e67)

### Installation

[](#installation)

This is a composer package, so installation is as easy as adding the following to your `require-dev`:

```
{
  "require-dev" : {
    "shellout/shellout": "@dev"
  }
}
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/6a08b8e66af74c9c026531b1cd2beed788a544e0526d678a02a2dfc0e3305dbb?d=identicon)[wkjagt](/maintainers/wkjagt)

---

Top Contributors

[![wkjagt](https://avatars.githubusercontent.com/u/327048?v=4)](https://github.com/wkjagt "wkjagt (51 commits)")

### Embed Badge

![Health badge](/badges/shellout-shellout/health.svg)

```
[![Health](https://phpackages.com/badges/shellout-shellout/health.svg)](https://phpackages.com/packages/shellout-shellout)
```

###  Alternatives

[symfony/stopwatch

Provides a way to profile code

2.8k387.2M915](/packages/symfony-stopwatch)[fruitcake/laravel-debugbar

PHP Debugbar integration for Laravel

19.1k662.9k28](/packages/fruitcake-laravel-debugbar)[spatie/ignition

A beautiful error page for PHP applications.

510147.6M69](/packages/spatie-ignition)[jokkedk/webgrind

Webgrind is a Xdebug profiling web frontend in PHP5. It implements a subset of the features of kcachegrind and installs in seconds and works on all platforms. For quick'n'dirty optimizations it does the job.

3.3k193.0k](/packages/jokkedk-webgrind)[koriym/printo

An object graph visualizer.

1421.8M2](/packages/koriym-printo)[soloterm/dumps

A Laravel command to intercept dumps from your Laravel application.

125285.7k3](/packages/soloterm-dumps)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
