PHP plugin for asdf version manager
Original version of this plugin created by @Stratus3D
Check the .github/workflows/workflow.yml for dependencies, paths, and environment variables needed to install the latest PHP version. To be honest, supporting a major version other than the latest without any extra work from the user is an endless endeavor that won't ever really work too well. It's not that we don't support them at all, but it's almost impossible for us to support them.
After installing asdf, install the plugin by running:
asdf plugin add php https://github.com/asdf-community/asdf-php.gitor update an existing installation:
asdf plugin update phpThen use asdf-php to manage php:
# Show all installable versions
asdf list all php
# Install specific version
asdf install php 8.5.0
# or install latest tagged version with
asdf install php latest
# Set a version globally (on your ~/.tool-versions file)
asdf set --home php latestComposer is installed globally alongside PHP by default. If your application requires additional php extensions, you may need to install them via pecl. For example:
pecl install redis
pecl install imagick
echo "extension=redis.so
extension=imagick.so" > $(asdf where php)/conf.d/php.iniTo install PHP on macOS, you'll need a set of packages installed via homebrew.
There's also a set of optional packages which enable additional extensions to be enabled:
brew install gmp libsodium imagemagick
Note that the supported extension are not exhaustive, so you may need edit the bin/install script to support additional extension. Feel free to submit a PR for any missing extensions.
If PHP PEAR is down you can install PHP without PEAR. Specify PHP_WITHOUT_PEAR variable with any value
(except no), eg:
PHP_WITHOUT_PEAR=yes asdf install php <version>Check asdf readme for instructions on how to install & manage versions.
Composer is installed globally by default. To use it, you'll need to reshim:
composer global require friendsofphp/php-cs-fixer
asdf reshim
php-cs-fixer --versionLicensed under the Apache License, Version 2.0.