PHP plugin for asdf version manager.
Original version of this plugin created by @Stratus3D
Original plug-in appears to be unmaintained and it doesn't work anymore (at least on OSX), so I fixed it to provide compatibility and improve it's documentation.
asdf plugin-add php https://github.com/odarriba/asdf-php.git
Please, remember installing the common required libraries that can be found on the asdf
README. They are necessary to build PHP versions too!
You may need this libraries and packages to be able to compile PHP compiler versions:
sudo apt-get install curl build-essential autoconf libjpeg-dev libpng12-dev openssl libssl-dev libcurl4-openssl-dev pkg-config libsslcommon2-dev libreadline-dev libedit-dev zlib1g-dev libicu-dev libxml2-dev gettext bison libmysqlclient-dev libpq-dev
sudo apt install curl build-essential libjpeg-dev libpng-dev openssl libcurl4-openssl-dev pkg-config libedit-dev zlib1g-dev libicu-dev libxml2-dev gettext bison libmysqlclient-dev libpq-dev
In order to compile PHP on macOS machines, you must install some brew packages first:
brew install freetype bison bison27 gettext icu4c jpeg libiconv libpng openssl readline homebrew/dupes/zlib
Use environment variables to instruct autoconf on where to find the libraries you installed using homebrew. Note that:
- for PHP 5.6, you must use
brew --prefix bison@2.7
in your PATH - for PHP 7.x, you must use
brew --prefix bison
in your PATH
So replace if necessary:
PATH="$(brew --prefix bison)/bin:$(brew --prefix icu4c)/bin:$(brew --prefix icu4c)/sbin:$PATH" PHP_CONFIGURE_OPTIONS="--with-iconv=$(brew --prefix libiconv) --with-openssl=$(brew --prefix openssl)" asdf install php <version>
Important note: There seems to be a bug with PHP configure
file on recent versions (> 7.1.4) when using on OSX environments. As can be seen in this PR, it's needed to disable gettext at build time to work, and later on impate the module manually.
To disable it, just execute this before run the asdf install
command:
$ export PHP_CONFIGURE_OPTIONS='--disable-gettext'
To modify this plugin into your asdf
installation and see changes live, just create a symlink:
ln -s . ~/.asdf/plugins/php
Check the asdf readme for instructions on how to install & manage versions of PHP.
Feel free to create an issue or pull request if you find a bug.
Note that the Travis builds for your PR will fail: asdf-community#4 (comment)
This could be due to GitHub API quota limits. To solve it, you just need to specify GITHUB_API_USER
and GITHUB_API_KEY
with your username and a Personal Access Token, so the list-all
command can use it to fetch available versions.
MIT License