id = "phpbrew" name = "PHPBrew" homepage = "https://phpbrew.github.io/phpbrew" description = "Brew & manage PHP versions in pure PHP at HOME" executables = ["phpbrew"] [dotfiles] # PHPBrew's official README says `phpbrew init` generates ~/.phpbrew/bashrc # and ~/.phpbrew/phpbrew.fish for shell integration. Its configuration guide # documents ~/.phpbrew/config.yaml as the YAML config loaded by installs. # https://github.com/phpbrew/phpbrew#installation # https://github.com/phpbrew/phpbrew/wiki/Configuration paths = [ "~/.phpbrew/config.yaml", "~/.phpbrew/bashrc", "~/.phpbrew/phpbrew.fish", ] secret = [] # The generated shell integration embeds the PHPBrew root as an absolute, # per-machine install location. Keep it for this machine while syncing the # shell integration itself. [[dotfiles.machine_lines]] file = "~/.phpbrew/bashrc" match = { prefix = ["export PHPBREW_HOME"] } scope = "backup" [[dotfiles.machine_lines]] file = "~/.phpbrew/phpbrew.fish" match = { prefix = ["set -gx PHPBREW_HOME"] } scope = "backup" [commands] format = 1 label = "Install a PHP version" description = "Build and install one PHP version with variants. Custom configure options after -- and the other phpbrew subcommands are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.source]] id = "readme" kind = "manual" url = "https://raw.githubusercontent.com/phpbrew/phpbrew/HEAD/README.md" revision = "HEAD 2026-10-27" evidence = """$ phpbrew install 5.4.0 +default $ phpbrew install -j $(nproc) 5.4.0 +default $ phpbrew install --test 5.4.0 $ phpbrew install --old 5.2.13 $ phpbrew install 5.3.10 +mysql +sqlite +cgi $ phpbrew install 5.6""" [[commands.field]] id = "subcommand" label = "Subcommand" fixed = ["install"] sources = ["readme"] [[commands.field]] id = "version" label = "PHP version" description = "For example 8.3.0 or 5.6." type = "string" position = 0 sources = ["readme"] [[commands.field]] id = "variants" label = "Variants" description = "Variant sets such as +default, +mysql, +sqlite. Run phpbrew variants to list them." type = "string" position = 1 multiple = true suggestions = [{ value = "+default", label = "default" }, { value = "+mysql", label = "mysql" }, { value = "+sqlite", label = "sqlite" }, { value = "+cgi", label = "cgi" }] sources = ["readme"] [[commands.field]] id = "jobs" label = "Parallel jobs" type = "integer" option = ["-j"] min = 1 sources = ["readme"] [[commands.field]] id = "test" label = "Run tests after build" type = "boolean" option = ["--test"] sources = ["readme"] [[commands.field]] id = "old" label = "Old release" description = "Install from the archive of old releases." type = "boolean" option = ["--old"] sources = ["readme"] [[commands.task]] id = "install" label = "Install with default variants" set = { variants = ["+default"] } fields = ["subcommand", "version", "variants", "jobs"] required = ["version"] [[commands.group]] id = "basic" label = "Basic" fields = ["subcommand", "version", "variants", "jobs"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["test", "old"]