WebService-Est v2.0 - Modern PHP development & deployment automation for macOS
Complete PHP workflow with pre-compiled binaries, deployment automation, and development tools.
- PHP 8.4 via Homebrew (optimal EOL ratio for Q1 2026)
- Composer global installation
- WP-CLI with bundled PsySH & CPX
- Deployer for automated deployments
- mise task runner integration
- Multi-environment support (production, staging, develop)
# Clone the repository git clone https://github.com/nnosal/phpix.git cd phpix # Run automated installation chmod +x install.sh ./install.sh # Verify installations php -v # PHP 8.4.x composer -V # Composer 2.x wp --version # WP-CLI 2.12.0 dep --version # Deployer 7.5.x psysh --version # PsySH 0.x
-
PHP 8.4 (shivammathur/php tap)
- Pre-compiled for optimal performance
- Best EOL support ratio for 2026
-
Composer (global)
- Dependency management
- Global package access via
~/.composer/vendor/bin
-
WP-CLI Bundle
- WordPress CLI (
wp) - PsySH interactive shell (
psysh) - CPX runner for Composer packages (
cpx)
- WordPress CLI (
-
Deployer
- Zero-downtime deployments
- Multi-server orchestration
- Custom recipes included
# WordPress user inspection psysh <<EOF require 'vendor/autoload.php'; \$user = new WP_User(1); dump(\$user->to_array()); EOF # Database query psysh --no-interaction '$pdo=new PDO("mysql:host=localhost;dbname=test","user","pass");$stmt=$pdo->query("SELECT COUNT(*) as count FROM users");print_r($stmt->fetch());' # Email testing psysh --no-interaction '$to="test@example.com";$subject="Test PsySH";$msg="Email test!";mail($to,$subject,$msg,"From: noreply@domain.com")&&echo"β Envoi OK";'
# Laravel scaffolding cpx laravel new MonSuperProjet && cd $_ # PHP CS Fixer cpx php-cs-fixer fix ./src # Psalm static analysis cpx psalm
# Deploy to staging dep deploy staging # Deploy to production dep deploy production # Rollback if needed dep rollback production # Run custom tasks dep cache:clear production
# List available tasks mise tasks # Run custom tasks (define in mise.toml) mise run deploy:staging mise run test
phpix/
βββ README.md # This file
βββ meta.json # Project metadata & environments
βββ mise.toml # Task runner configuration
βββ install.sh # Automated installation script
βββ deploy.php # Deployer recipe
βββ composer.json # PHP dependencies
βββ src/ # Source code
β βββ example.php # Demo PHP file
βββ tests/ # Test suite
β βββ ExampleTest.php
βββ .github/
βββ workflows/
βββ ci.yml # GitHub Actions CI/CD
Configure your environments in meta.json:
{
"env": {
"production": {
"host": "prod.example.com",
"user": "deploy",
"deploy_path": "/var/www/production"
},
"staging": {
"host": "staging.example.com",
"user": "deploy",
"deploy_path": "/var/www/staging"
},
"develop": {
"host": "localhost",
"deploy_path": "./build"
}
}
}GitHub Actions workflow included:
- PHP 8.4 setup
- Composer dependency installation
- Code quality checks (PHP CS Fixer, Psalm)
- Automated tests
- Deployment on tag push
- macOS (tested on Ventura+)
- Homebrew installed
- Git
- Terminal with Zsh/Bash
Edit deploy.php:
task('custom:task', function () { run('echo "Running custom task"'); }); after('deploy:symlink', 'custom:task');
Edit mise.toml:
[tasks."deploy:all"] run = "dep deploy --all" description = "Deploy to all environments" [tasks.test] run = "vendor/bin/phpunit" description = "Run test suite"
WebService-Est v2.0
- Initial Release: 2012εΉ΄04ζ01ζ₯
- Last Update: 2025εΉ΄09ζ12ζ₯
- Maintained by Nicolas NOSAL
MIT License - feel free to use for your projects!
Made with β€οΈ for modern PHP development on macOS