PHPackages                             vtardia/simphle - 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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. vtardia/simphle

AbandonedArchivedLibrary[DevOps &amp; Deployment](/categories/devops)

vtardia/simphle
===============

A quick and simple PHP server for development

1.0.3(10y ago)4531[1 PRs](https://github.com/vtardia/simphle/pulls)MITPHPPHP &gt;=5.4

Since Mar 27Pushed 7y ago1 watchersCompare

[ Source](https://github.com/vtardia/simphle)[ Packagist](https://packagist.org/packages/vtardia/simphle)[ RSS](/packages/vtardia-simphle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (5)Used By (0)

Simphle - Quick PHP Development Server
======================================

[](#simphle---quick-php-development-server)

Simphle is a friendly wrapper for PHP built-in web server, with some handy features for an easy developement.

Requirements
------------

[](#requirements)

- PHP 5.4 or above with built-in webserver and HTTP extension
- The [Symphony Process Component](https://github.com/symfony/process)

Installation
------------

[](#installation)

1. **Composer**

```
$ composer [global] require vtardia/simphle
```

Use the `global` option to install it globally on your system

2. **Custom**

Clone this repository to a shared directory, for example `/usr/local/php/simphle` or `/Users/Shared/php/Simphle` on a Mac, then run `composer install`.

Add the `bin` directory to your local path or create a link to the `bin/simphle` executable:

```
   $ ln -s /usr/local/php/simphle/bin/simphle ~/bin/simphle
```

Usage
-----

[](#usage)

### Basic

[](#basic)

Start a server with default settings in the current directory:

```
$ cd /path/to/myapp/docroot
$ simphle
```

### Intermediate

[](#intermediate)

Start a server with custom settings from the command line:

```
$ cd /path/to/myapp
$ simphle [-H host] [-p port] [-c path/to/php.ini] [-r path/to/router.php] [path/to/docroot]
```

### Advanced

[](#advanced)

Create a `server.json` file in your project's directory with your custom settings and then launch `simphle` from inside that path.

```
{
    "host":"0.0.0.0",
    "port":5000,
    "docroot":"public",
    "router":"myrouter.php|default",
    "ini":"mysettings.ini|default",
    "controller": "mycontroller.php",
    "env": {
        "myvar": "somevalue",
        "anothervar": {
            "one": "foo",
            "two": "bar"
        }
    }
}
```

The `router` and `ini` file paths are relative to the current working directory. The main `Simphle` script searches for these files in the current working directory first, then in Simphle's `share` directory. The `.php` and `.ini` extensions are not required for preset router and INI files.

The `controller` file path is relative to the document root directory.

#### Launch it with Composer

[](#launch-it-with-composer)

Create a `scripts` section in you `composer.json`:

```
"scripts": {
    "server": "simphle [options]"
}
```

Then launch it using

```
$ composer server
```

#### The default router

[](#the-default-router)

Simphle's default router tries to simulate a typical Apache `.htaccess` file:

```
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
```

If the requested URI exists tries to fetch it, if not it searches for an `index.php`, finally falls back to a "404 not found" error.

#### Using a front controller

[](#using-a-front-controller)

By specifying a `controller` settings Simphle uses this file as rewrite target instead of `index.php`, so you can use for example `app.php`.

#### Customizing the environment

[](#customizing-the-environment)

The `env` section defines environment variables that are passed to the PHP files through the `$_ENV` superglobal. JSON objects are converted to associative arrays.

Sometimes the `$_ENV` superglobal is not populated. It depends on the `variables_order` settings in `php.ini`:

```
; This directive determines which super global arrays are registered when PHP
; starts up. If the register_globals directive is enabled, it also determines
; what order variables are populated into the global space. G,P,C,E & S are
; abbreviations for the following respective super globals: GET, POST, COOKIE,
; ENV and SERVER. There is a performance penalty paid for the registration of
; these arrays and because ENV is not as commonly used as the others, ENV is
; is not recommended on productions servers. You can still get access to
; the environment variables through getenv() should you need to.
; Default Value: "EGPCS"
; Development Value: "GPCS"
; Production Value: "GPCS";
; http://php.net/variables-order
variables_order = "GPCS"
```

This setting can be overridden by local `htaccess` or `php.ini` files.

License
-------

[](#license)

Simphle is licensed under the MIT License - see the `LICENSE` file for details

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity61

Established project with proven stability

 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.

###  Release Activity

Cadence

Every ~106 days

Total

4

Last Release

3749d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/539034?v=4)[Vito Tardia](/maintainers/vtardia)[@vtardia](https://github.com/vtardia)

---

Top Contributors

[![vtardia](https://avatars.githubusercontent.com/u/539034?v=4)](https://github.com/vtardia "vtardia (19 commits)")

---

Tags

server

### Embed Badge

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

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

###  Alternatives

[spatie/laravel-webhook-server

Send webhooks in Laravel apps

1.1k8.8M22](/packages/spatie-laravel-webhook-server)[pragmarx/health

Laravel Server &amp; App Health Monitor and Notifier

2.0k1.0M2](/packages/pragmarx-health)[felixfbecker/language-server-protocol

PHP classes for the Language Server Protocol

22476.7M6](/packages/felixfbecker-language-server-protocol)[clue/socket-raw

Simple and lightweight OOP wrapper for PHP's low-level sockets extension (ext-sockets).

35111.1M48](/packages/clue-socket-raw)[voryx/thruway

Thruway WAMP router core

6771.0M17](/packages/voryx-thruway)[php-mcp/server

PHP SDK for building Model Context Protocol (MCP) servers - Create MCP tools, resources, and prompts

828280.5k25](/packages/php-mcp-server)

PHPackages © 2026

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