Utility for running PHP code inside the browser (Laravel package)
Ondřej Hruška dde0595ee0 Fix wrong font family, shorten statusbar text 1 year ago
src Fix wrong font family, shorten statusbar text 1 year ago
.gitignore initial code import 1 year ago
LICENSE.txt initial code import 1 year ago
README.md add laravel metadata 1 year ago
composer.json add laravel metadata 1 year ago
screenshot.png Cleaning, added screenshot 1 year ago

README.md

PHP Sandbox

This is a cleaned and improved continuation of Seldaek/php-console, forked in 2015, and as of 2018 turned into a Laravel package and published to packagist as mightypork/php-sandbox.

PHP Sandbox is a web editor to try your PHP code. It allows you to run small bits of code in the context of your Laravel application, e.g. to test functionality or verify algorithms.

There is no isolation or security built in, it is literally eval() with user-provided code.

Absolutely DO NOT run this on a production server, and if you must, ensure it is not publicly accessible. PHP Sandbox is meant for a local dev environment. It is disabled by default, and you can enable it using .env (see the Installation section below).

Screenshot

screenshot

Tip: Press Ctrl+Enter to evaluate the code

Installation

It is a Composer package for the Laravel framework.

  • Install it (composer require mightypork/php-sandbox), then composer dump-autoload.
  • The service provider should be automatically found by Laravel via the discover functionality. If it is not, add the service provider to your config/app.php file (providers section): MightyPork\PhpSandbox\PhpSandboxServiceProvider::class
  • Run php artisan vendor:publish and select the package; this copies the JS and CSS assets to your public folder, and creates the config file (config/php-sandbox.php).
  • Add ENABLE_PHP_SANDBOX=true to your .env file to enable access

The sandbox is available at /sandbox.

If you wish to change the path, that can be done in the config file. You can also decide which middleware to use.

About this fork

This is a fork of the original code by Seldaek (Jordi Boggiano), as it was on GitHub in 2015, cleaned and turned into a Laravel package.

Changes:

  • Changed colors to look more like Sublime Text, with Monokai theme
  • Slightly improved layout
  • Removed info text at the bottom of the screen
  • Output is now plain text, not HTML (more useful for debugging). However, some html output works too (in particular dd())
  • Removed "krumo", "clippy", and "Melody" (bloat from the original version)
  • Updated ACE to 1.2.0 with a patch to support the PHP trait keyword
  • Removed the loader animation (it was broken)

License

PHP Sandbox is licensed under the New BSD License.

Why is this not on GitHub

I don't like Microsoft.