viv php

Downloads a static-php-cli PHP build and pins config.platform.php in composer.json to it, or lists what's already installed. Reach for this to give a project a self-contained PHP it doesn't have to share with the rest of the machine.

Usage

Download a static-php-cli PHP build and pin `config.platform.php` to it (#337), or list what's already installed

Usage: viv php [OPTIONS] <COMMAND>

Commands:
  install  Download a static-php-cli build and pin `config.platform.php` in composer.json to it. With no `VERSION`, installs whatever is already pinned there
  list     List every PHP build already installed in the cache
  help     Print this message or the help of the given subcommand(s)

Options:
  -v, --verbose                Raise logging to debug
      --cache-dir <CACHE_DIR>  Store location (default `$XDG_CACHE_HOME/vivace`, or `~/.cache/vivace`)
      --offline                Fail fast on any request instead of connecting: install errors, naming every package not already in the store; update solves from cached repository metadata only, erroring on an uncached package. Also set by `COMPOSER_DISABLE_NETWORK` (any value but unset, empty or `0`; Composer's own git-priming `prime` value is not special-cased here, since neither `install` nor `update` touch a git source)
  -h, --help                   Print help

viv php install

Downloads the build for VERSION (8.4 resolves to the newest 8.4.x upstream, 8.4.17 an exact release) and pins it; with no VERSION, installs whatever is already pinned in composer.json.

Download a static-php-cli build and pin `config.platform.php` in composer.json to it. With no `VERSION`, installs whatever is already pinned there

Usage: viv php install [OPTIONS] [VERSION]

Arguments:
  [VERSION]  `8.4` (newest `8.4.x` upstream) or `8.4.17` (exact)

Options:
  -v, --verbose                Raise logging to debug
      --cache-dir <CACHE_DIR>  Store location (default `$XDG_CACHE_HOME/vivace`, or `~/.cache/vivace`)
      --offline                Fail fast on any request instead of connecting: install errors, naming every package not already in the store; update solves from cached repository metadata only, erroring on an uncached package. Also set by `COMPOSER_DISABLE_NETWORK` (any value but unset, empty or `0`; Composer's own git-priming `prime` value is not special-cased here, since neither `install` nor `update` touch a git source)
  -h, --help                   Print help

viv php list

Lists every PHP build already installed in the cache; writes nothing.

List every PHP build already installed in the cache

Usage: viv php list [OPTIONS]

Options:
  -v, --verbose                Raise logging to debug
      --cache-dir <CACHE_DIR>  Store location (default `$XDG_CACHE_HOME/vivace`, or `~/.cache/vivace`)
      --offline                Fail fast on any request instead of connecting: install errors, naming every package not already in the store; update solves from cached repository metadata only, erroring on an uncached package. Also set by `COMPOSER_DISABLE_NETWORK` (any value but unset, empty or `0`; Composer's own git-priming `prime` value is not special-cased here, since neither `install` nor `update` touch a git source)
  -h, --help                   Print help

Reads and writes

  • Reads: composer.json's config.platform.php, the store's php-v0 bucket, and fetches the build over the network (unless already cached).
  • Writes: composer.json (install pins the version), the store's php-v0 bucket.

Exit codes

  • 0 — installed or listed successfully.
  • 1 — a network error, an unknown version, or a bad flag.

See also

viv install