Fetching latest commit…
Cannot retrieve the latest commit at this time.


A interactive PHP Shell

The more I work with other languages like python and ruby I like their way how they
work on problems. While PHP is very forgiving on errors, it is weak on the debugging
side. It was missing a simple to use interactive shell for years. Python and Ruby have
their ipython and iruby shell which give you a direct way to interact with the objects.
No need to write a script and execute it afterwards.

Starting the Shell

Starting with PHP_Shell 0.2.1 starting the shell is done by calling the shell-wrappers:


or on Windows

> php-shell.bat

Write your own wrapper

Sometimes you want to write your own shell where you provide your own defaults, colours and


    require "php-shell-cmd.php";

and execute it with:

$ php -q php-shell.php

Inline Help

PHP-Shell - Version 0.2.0, with readline() support
(c) 2006, Jan Kneschke <>
released under the terms of the PHP License 2.0

>> use '?' to open the inline help

>> ?
"inline help for the PHP-shell

  >> ?
    print this help
  >> ? <topic>
    get the doccomment for a class, method, property or function
  >> p <var>
    execute a verbose print (if implemented)
  >> quit
    leave shell
>> ? PHP_Shell

Shell Colours

The shell supports colours to seperate Exceptions from normal output of your 
functions. To enable the colours you can to set:

>> :set background=dark

By default the colour-schemes 'plain' (the default), 'light' and 'dark' are

You can also register your own colour schemes:

>> $__shell->registerColourScheme( 'custom', array(
..   "default" => PHP_SHELL::C_LIGHT_RED, /* colour of the prompt */
..   "value" => PHP_SHELL::C_BLACK, /* colour of a return value  */
..   "exception" => PHP_SHELL::C_RED, /* colour of a exception  */
.. ))


- the embedded interactive php-shell: $ php -a