Files
asdf-php/README.md
2021-04-23 11:37:09 -06:00

2.7 KiB

asdf-php

PHP plugin for asdf version manager

Original version of this plugin created by @Stratus3D

Build History

Build history

Prerequirements

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.

Installation

asdf plugin-add php

Since this plugin compiles PHP from source, you'll want to ensure all other required packages are installed. After you've installed additional system packages, install a specific PHP version:

asdf install php 7.4.16

You can test to ensure the installation was successful:

asdf reshim
php --version

Composer 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.ini

MacOS

To install PHP on MacOS, you'll need a set of packages installed via homebrew:

brew install bison bzip2 freetype gettext libiconv icu4c jpeg libedit libpng libxml2 libzip openssl readline webp zlib

You may want to run the above command with upgrade instead of install to ensure the latest version of all required packages is installed.

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.

Note: PHP-PEAR

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>

Usage

Check asdf readme for instructions on how to install & manage versions.

Global Composer Dependencies

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 --version

License

Licensed under the Apache License, Version 2.0.