PHPackages                             aboks/php-src-devtools - 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. aboks/php-src-devtools

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

aboks/php-src-devtools
======================

Tools to make it easier to build, run and test PHP from source, using Docker

v0.0.2(8y ago)26MITPHPPHP ^7.1

Since May 7Pushed 8y ago2 watchersCompare

[ Source](https://github.com/aboks/php-src-devtools)[ Packagist](https://packagist.org/packages/aboks/php-src-devtools)[ RSS](/packages/aboks-php-src-devtools/feed)WikiDiscussions master Synced 3d ago

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

[![Latest Stable Version](https://camo.githubusercontent.com/254853269ea32935faeddef8d3dfdf48f1a42502a0d5c5aff57b684149b87e41/68747470733a2f2f706f7365722e707567782e6f72672f61626f6b732f7068702d7372632d646576746f6f6c732f762f737461626c65)](https://packagist.org/packages/aboks/php-src-devtools)

🐘 php-src-devtools 🐳
====================

[](#elephant-php-src-devtools-whale)

Tools to make it easier to contribute to PHP itself ([php-src](https://github.com/php/php-src)). Uses Docker containers for building, running and testing PHP from source.

```
$ composer global require aboks/php-src-devtools
$ git clone https://github.com/php/php-src.git && cd php-src
# write a test, or make your own changes to PHP
$ php-src-devtools test

```

Why?
----

[](#why)

Even though there is a thriving open source community for projects written in PHP, only a very limited number of these people contribute to PHP itself. This can partly be explained by the fact that contributing to PHP internals is quite different from contributing to a PHP project: it uses a different language (C instead of PHP), different tools, and another workflow.

This project aims to remove some of these barriers for PHP developers to become PHP core developers:

- Compiling and testing PHP within a Docker container removes the need to install any build dependencies, which can clutter your system or not be easily available for your OS. In particular, it provides a greatly simplified path to get started for Windows users.
- Most PHP developers will be used to installing tools like this using Composer.
- Using tools that PHP developers might be already using (Symfony Console and Docker) provides a familiar experience.
- The console application abstracts some of the necessary build steps away, and makes the possible actions discoverable.

For more information about contributing to PHP, see the slides for my "[Getting started with PHP core development](https://speakerdeck.com/aboks/getting-started-with-php-core-development-phpce-2017)" conference talk.

Prerequisites
-------------

[](#prerequisites)

Ensure that [Docker](https://www.docker.com/get-docker) is installed and running on your system.

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

[](#installation)

The easiest way to install this tool is as a global composer package:

```
$ composer global require aboks/php-src-devtools

```

Alternatively, clone or download this repository somewhere, run `composer install` to install dependencies, and ensure that `php-src-devtools` is on your `PATH`.

Usage
-----

[](#usage)

In the folder that contains your clone of php-src, run:

- `php-src-devtools build` to build PHP. Note that the initial build may take about an hour.
- `php-src-devtools test` to run the full PHP testsuite. You can use `php-src-devtools test path/to/test.phpt` to run a single test, or `php-src-devtools test ext/foo` to test a single extension.
- `php-src-devtools php` to run the compiled PHP CLI, e.g. `php-src-devtools php -i` for phpinfo.
- `php-src-devtools list` to see all subcommands, or `php-src-devtools help` for additional help.

Status
------

[](#status)

This tool is still in a pretty experimental stage, but the basic things like building PHP from source and running tests should work fine. Please try it out and report any issues and possible improvements that you encounter. Pull requests are welcome.

Versioning
----------

[](#versioning)

This project adheres to [Semantic Versioning](http://semver.org/).

License
-------

[](#license)

The code is released under the MIT license.

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity49

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

Every ~5 days

Total

2

Last Release

2972d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/815524?v=4)[Arnout Boks](/maintainers/aboks)[@aboks](https://github.com/aboks)

---

Top Contributors

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

---

Tags

dockerphpphp-internalsphp-src

### Embed Badge

![Health badge](/badges/aboks-php-src-devtools/health.svg)

```
[![Health](https://phpackages.com/badges/aboks-php-src-devtools/health.svg)](https://phpackages.com/packages/aboks-php-src-devtools)
```

###  Alternatives

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

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

The Laravel Framework.

34.8k543.8M19.8k](/packages/laravel-framework)[laravel/horizon

Dashboard and code-driven configuration for Laravel queues.

4.2k95.4M295](/packages/laravel-horizon)[drupal/core

Drupal is an open source content management platform powering millions of websites and applications.

21866.0M1.7k](/packages/drupal-core)[illuminate/console

The Illuminate Console package.

13046.0M6.4k](/packages/illuminate-console)[spatie/laravel-export

Create a static site bundle from a Laravel app

674146.0k6](/packages/spatie-laravel-export)

PHPackages © 2026

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