{"adoption": {"forks": 92, "observed_at": "2026-08-28T04:03:12.292787+00:00", "stars": 1007}, "canonical_url": "https://ross.abutalabs.com/products/brew-php-switcher", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Brew PHP switcher is a simple shell script to switch your apache and CLI quickly between major versions of PHP. If you support multiple products/projects that are built using either brand new or old legacy PHP functionality. For users of Homebrew (or brew for short) currently only.", "domain": ["developer-tools", "web-development"], "enriched": true, "function": ["cli", "configuration-management", "developer-tools"], "health_score": 86, "homepage": null, "language": "Shell", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["philcook/brew-php-switcher"], "name": "philcook/brew-php-switcher", "platform": ["cli"], "pushed_at": "2026-07-15T09:19:08+00:00", "repo": "philcook/brew-php-switcher", "stars": 1007, "tags": ["homebrew", "php", "version-switcher", "shell-script", "apache", "valet", "macos", "php-versions", "command-line"], "topics": ["homebrew", "php", "shell"], "urls": [], "use_cases": ["switch php versions on mac with homebrew", "change apache and cli php version in one command", "manage multiple php versions across legacy and new projects", "stop editing apache config manually when switching php", "switch php version for laravel valet", "switch between php 7.4 and php 8.x locally"], "what_it_is": "A simple shell script for macOS Homebrew users that switches PHP versions for both Apache and CLI with a single command, automatically rewriting the Apache module configuration. It supports PHP 5.6 through 8.5 and can also switch or skip Laravel Valet configuration.", "when_to_avoid": ["you are on Linux or Windows rather than macOS", "your PHP is installed from source or a non-Homebrew package manager", "you run Nginx instead of Apache since only Apache and Valet configs are handled", "you need per-project PHP version pinning rather than machine-wide switching"], "when_to_choose": ["you are on macOS and installed PHP via Homebrew", "you support multiple projects that require different major PHP versions", "you want Apache and Valet configs updated automatically when switching PHP", "you want a single-command alternative to editing httpd.conf by hand"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/brew-php-switcher", "repo": "philcook/brew-php-switcher", "role": "main", "score": 64}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.292787+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:12:32.324244+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a58aa2ce9ba421efaada4e161c2fde4d18d6e8defb6de733e35ee6cb31dffa6", "fetched_at": "2026-08-28T04:03:12.292787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/philcook/brew-php-switcher"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.292787+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:12:32.324244+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a58aa2ce9ba421efaada4e161c2fde4d18d6e8defb6de733e35ee6cb31dffa6", "fetched_at": "2026-08-28T04:03:12.292787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/philcook/brew-php-switcher"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:12:32.324244+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a58aa2ce9ba421efaada4e161c2fde4d18d6e8defb6de733e35ee6cb31dffa6", "fetched_at": "2026-08-28T04:03:12.292787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/philcook/brew-php-switcher"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.292787+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.292787+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.292787+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:12:32.324244+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a58aa2ce9ba421efaada4e161c2fde4d18d6e8defb6de733e35ee6cb31dffa6", "fetched_at": "2026-08-28T04:03:12.292787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/philcook/brew-php-switcher"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.292787+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.292787+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:12:32.324244+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a58aa2ce9ba421efaada4e161c2fde4d18d6e8defb6de733e35ee6cb31dffa6", "fetched_at": "2026-08-28T04:03:12.292787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/philcook/brew-php-switcher"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.292787+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.292787+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.292787+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:12:32.324244+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a58aa2ce9ba421efaada4e161c2fde4d18d6e8defb6de733e35ee6cb31dffa6", "fetched_at": "2026-08-28T04:03:12.292787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/philcook/brew-php-switcher"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.292787+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.292787+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:12:32.324244+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a58aa2ce9ba421efaada4e161c2fde4d18d6e8defb6de733e35ee6cb31dffa6", "fetched_at": "2026-08-28T04:03:12.292787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/philcook/brew-php-switcher"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:12:32.324244+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a58aa2ce9ba421efaada4e161c2fde4d18d6e8defb6de733e35ee6cb31dffa6", "fetched_at": "2026-08-28T04:03:12.292787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/philcook/brew-php-switcher"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:12:32.324244+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a58aa2ce9ba421efaada4e161c2fde4d18d6e8defb6de733e35ee6cb31dffa6", "fetched_at": "2026-08-28T04:03:12.292787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/philcook/brew-php-switcher"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:12:32.324244+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a58aa2ce9ba421efaada4e161c2fde4d18d6e8defb6de733e35ee6cb31dffa6", "fetched_at": "2026-08-28T04:03:12.292787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/philcook/brew-php-switcher"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4557, "days_push": 49, "days_rel": 642, "gap_med": null, "n_releases_24m": 1}, "score": 64, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}