PHPackages                             smrtr/roddick - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. smrtr/roddick

ActiveLibrary[Testing &amp; Quality](/categories/testing)

smrtr/roddick
=============

Commands for starting and stopping a php web server in the background

1.0.0(10y ago)081PHPPHP &gt;=5.4.0

Since Apr 11Pushed 10y ago1 watchersCompare

[ Source](https://github.com/joegreen88/roddick)[ Packagist](https://packagist.org/packages/smrtr/roddick)[ RSS](/packages/smrtr-roddick/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

roddick
=======

[](#roddick)

Start the built-in php web server as a background process.

Install this package with composer: `composer require smrtr/roddick:~1.0`.

Access the cli at `vendor/bin/roddick`.

Start server
------------

[](#start-server)

```
$ roddick start

```

Starts the server in a background process.

By default the server will listen on  and use the current working directory as the document root.

```
Usage:
  start [options] [--] []

Arguments:
  address                : [default: "127.0.0.1"]

Options:
  -p, --port=PORT        Override the port number of the given address
  -d, --docroot=DOCROOT  Document root for the web server
  -r, --router=ROUTER    Custom router script

```

You may provide the port as part of the address, or using the port option. If you provide both then the port option will override any port defined in the address.

Stop server
-----------

[](#stop-server)

```
$ roddick stop

```

Stops the web server process that was started with `roddick start`.

```
Usage:
  stop [options] [--] []

Arguments:
  address               : [default: "127.0.0.1"]

Options:
  -p, --port=PORT       Override the port number of the given address

```

The address and port are handled as in the start command.

Check server
------------

[](#check-server)

```
$ roddick status

```

Checks if a web server is already running.

```
Usage:
  status [options] [--] []

Arguments:
  address               : [default: "127.0.0.1"]

Options:
  -p, --port=PORT       Override the port number of the given address

```

The address and port are handled as in the start command.

---

### Acknowledgements

[](#acknowledgements)

Symfony [did this first](https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/FrameworkBundle/Command/ServerStartCommand.php), but I needed to decouple it from the symfony framework for use in my own testing environments.

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 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

Unknown

Total

1

Last Release

3731d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a1ce943f5c99a0be65b726975e3c3d2898dfbdbcf07aa5525f39bd32ac9e8279?d=identicon)[joegreen88](/maintainers/joegreen88)

---

Top Contributors

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

---

Tags

phptestingserverprocesscontinuous integrationcommandbackground

### Embed Badge

![Health badge](/badges/smrtr-roddick/health.svg)

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

###  Alternatives

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.6k38.2k](/packages/matomo-matomo)[brianium/paratest

Parallel testing for PHP

2.5k129.9M913](/packages/brianium-paratest)[infection/infection

Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.

2.2k27.9M2.2k](/packages/infection-infection)[magento/magento2-functional-testing-framework

Magento2 Functional Testing Framework

15311.8M36](/packages/magento-magento2-functional-testing-framework)[jolicode/castor

A lightweight and modern task runner. Automate everything. In PHP.

54642.4k4](/packages/jolicode-castor)[playwright-php/playwright

Modern PHP library for Playwright automation: browsing, scraping, screenshots, testing, and more.

19431.1k6](/packages/playwright-php-playwright)

PHPackages © 2026

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