A web-based tool to check your GitHub organization's repositories for PHP version compatibility.
This tool scans all repositories in a GitHub organization and identifies which ones are not compatible with the latest stable PHP version.
Features:
- Automatically fetches the latest stable PHP version from php.net
- Scans all repositories in your GitHub organization
- Analyzes
composer.jsonfiles to determine PHP version requirements - Displays a clear overview of compatible and incompatible repositories
- Optional GitHub token support for higher API rate limits
- Toggle to include/exclude forked repositories
The tool uses semantic versioning to compare the required PHP versions in your repositories against the latest stable release, helping you identify which projects need updates.
You can run this application in several ways:
- Docker (Recommended for production): Using the pre-built image or building from source
- DDEV (Recommended for development): Local development environment
- Manual Setup: Using PHP's built-in server
The easiest way to run this application is using the pre-built Docker image:
# Pull and run the image
docker run -d -p 8080:80 --name php-compat-checker andersundsehr/github-php-compatibility-checker
# Open in browser
open http://localhost:8080Create a docker-compose.yml file:
services:
app:
image: andersundsehr/github-php-compatibility-checker
container_name: github-php-compatibility-checker
ports:
- "8080:80"
restart: unless-stoppedThen run:
docker compose up -dIf you want to build the Docker image yourself:
# Build the image
docker build -t github-php-compatibility-checker .
# Run the container
docker run -d -p 8080:80 --name php-compat-checker github-php-compatibility-checker
# Or use docker-compose
docker compose up -dDocker Requirements:
- Docker Engine 20.10+
- Docker Compose v2+ (optional)
This project includes a complete DDEV configuration, making it easy to get started.
- DDEV installed on your system
- Docker
# Clone the repository
git clone https://github.com/andersundsehr/github-php-compatibility-checker.git
cd github-php-compatibility-checker
# Start DDEV
ddev start
# Install dependencies
ddev composer install
# Open in browser
ddev launchThe application will be available at https://compatiblity-check.ddev.site
-
Enter Organization Name: Type the GitHub organization name you want to check (e.g.,
andersundsehr) -
GitHub Token (Optional):
- Without a token, you're limited to 60 API requests per hour
- With a token, you get 5,000 requests per hour
- Create a token at GitHub Settings → Developer settings → Personal access tokens
- Required scopes:
public_repoorrepo(read-only access) - The token will be saved in a cookie for convenience
-
Include Forks: Toggle whether to include forked repositories in the scan
-
View Results: The tool displays:
- Current latest PHP version
- List of all repositories with their PHP requirements
- Compatibility status (✅ compatible, ❌ incompatible,
⚠️ unknown) - Direct links to repositories and their composer.json files
ddev exec phpunitddev composer <command>public/ # Web root with index.php
src/ # Source code
UtilityFunctions.php # Core functionality
tests/ # PHPUnit tests
.ddev/ # DDEV configuration
If you prefer not to use Docker or DDEV:
# Install dependencies
composer install
# Start PHP built-in server
php -S localhost:8000 -t public/
# Open in browser
open http://localhost:8000Requirements:
- PHP 8.3 or higher
- Composer
- cURL extension enabled
- PHP Version: 8.3
- Web Server: nginx-fpm (DDEV) or any PHP-compatible server
- Dependencies:
composer/semverfor version comparisonphpunit/phpunitfor testing
- API Integration: GitHub REST API v3
This project is licensed under the terms specified in the LICENSE file.
If something did not work 😮
or you appreciate this Project 🥰 let us know.
We are hiring https://www.andersundsehr.com/karriere/
