A detached logging facility for PHP to aid your daily development routine

Installs: 949

Dependents: 3

Stars: 24

Watchers: 5

Forks: 4

Open Issues: 3

3.3.0 2015-01-14 01:12 UTC


Build Status

What is Phpconsole?

In one sentence, Phpconsole is a detached logging facility for PHP to aid your daily development routine. What does it mean, exactly?

The main aim of Phpconsole is to replace burdensome print_r() and var_dump() functions with something vastly superior.

Phpconsole lets you send encrypted (AES-256) data to external server, where the data is processed and displayed in user-friendly form. The code is indented and highlighted and you can see additional information, like the address used to trigger the code, the date and time or the location of the code within your project.

You can collaborate on the project with others, just add them to the Organisation and they will have access to all projects within it.

Check out product tour and a quick video showing Phpconsole in action.

How easy is it to use Phpconsole?

p($foo); // that easy!


  • account on
  • internet connection (to send data back to server)
  • PHP 5.3.0 or later
  • cURL


Simple installation - standalone package

  1. Log into your project at and click Download phpconsole.php file button

  2. Move phpconsole.php file into your project

  3. Require the file and start using Phpconsole right away:

    require 'path/to/phpconsole.php';
    p('Hello World!');

    As you can see, there's no need to configure Phpconsole when using the Simple installation flow.

  4. (optional, recommended) Download cacert.pem file and put it in the same folder as phpconsole.php - it will allow for API endpoint verification, but it's not required to start using Phpconsole.

Advanced installation - Composer / Packagist

  1. Add the following to require within your composer.json file:

    "phpconsole/phpconsole": "3.*"
  2. Execute composer update to pull the package into your project

  3. Place your configuration file into one of these locations:

  4. Update your details in config.php (see "Configuration" section below)

Package details:

Advanced installation - Laravel 4

  1. Add the following to require within your composer.json file:

    "phpconsole/phpconsole": "3.*"
  2. Execute composer update to pull the package into your project

  3. Add config file by executing

    php artisan config:publish phpconsole/phpconsole

    You will find it in

  4. Update your details in config.php (see "Configuration" section below)


Simple installation doesn't require any configuration. For details about configuring package for Composer / Laravel, see the Configuration file.


Here's how to use Phpconsole:

// basic usage, send to default project

// send to project 'emails'
p($foo, 'emails');

// send to project 'backup' and mark as error
p($foo, array('project' => 'backup', 'type' => 'error'));

You can send several types of snippets:


p('The job has been processed successfully', array('type' => 'success'));

p('Memory usage: '.$memory_usage, array('type' => 'info'));

p('Error: '.$error_message, array('type' => 'error'));

You can always create Phpconsole object yourself:

$phpconsole = new \Phpconsole\Phpconsole;
$phpconsole->send('This is a very important message');

Frequently Asked Questions

Can I use Phpconsole to develop locally?

Totally! Just make sure your server can reach to send data.

How to send data to all projects at once?

$phpconsole = new \Phpconsole\Phpconsole;
$phpconsole->sendToAll('Super important message for all developers!');

Is there a way to install entire Phpconsole locally?

No, unfortunately the only option right now is to use Phpconsole library with Worried about privacy? Read "Security/privacy concerns" below.

Security/privacy concerns

Phpconsole supports end-to-end AES-256 encryption. You can provide a password using encryptionPasswords variable in your config file, which will be used to encrypt all data before it leaves your server. The data will be decrypted in your browser on after you provide the password. The password is never sent back to Phpconsole's servers. Decryption happens in your browser before showing data on the screen. Phpconsole will never have access to plain-text version of data sent, it will also never store developer's key used to encrypt/decrypt data.

If you have more questions about security of your data, you can reach me at .


Class 'p' not found in...

Make sure you don't use deprecated p::send(), replace it with p(). doesn't show my data

Starting from version 3.1.0, Phpconsole has a "debug mode" that you can enable by changing debug option in your config file from false to true. When attempting to send data through Phpconsole, a Phpconsole debug info section is going to be appended to your page, showing a log of events in the system (pay attention to the ones highligted) and a bunch of basic information about your setup. Make sure that the config visible there matches what you have in your file.

You can always reach out to, attaching the info from the debug mode.

Useful links - main page

Getting Started Video - Installing Phpconsole in under 2 minutes

Getting Started (with CodeIgniter) - how to set up CodeIgniter framework to work with Phpconsole

Check out our Product Tour.


Peter Legierski - - @peterlegierski


See file


See LICENSE file