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[2 issues](https://github.com/vtardia/simphle/issues)[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 today

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

26

—

LowBetter than 41% of packages

Maintenance10

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

3795d 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

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.7k38.9k](/packages/matomo-matomo)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[felixfbecker/language-server-protocol

PHP classes for the Language Server Protocol

22581.4M6](/packages/felixfbecker-language-server-protocol)[shopware/deployment-helper

Shopware deployment tools

19400.6k5](/packages/shopware-deployment-helper)[drevops/git-artifact

Package artifact from your codebase in CI and push it to a separate git repo.

2134.2k](/packages/drevops-git-artifact)[mmoreram/translation-server

PHP translation server

233.8k2](/packages/mmoreram-translation-server)

PHPackages © 2026

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