Skip to content


Switch branches/tags

Homebrew Tap for PHP

brew tap shivammathur/php

Build status LICENSE PHP Versions Supported

Linux architectures supported macOS architectures supported macOS architectures supported

PHP Support

PHP Version Formula Debug version
PHP 5.6 php@5.6 php@5.6-debug
PHP 7.0 php@7.0 php@7.0-debug
PHP 7.1 php@7.1 php@7.1-debug
PHP 7.2 php@7.2 php@7.2-debug
PHP 7.3 php@7.3 php@7.3-debug
PHP 7.4 php@7.4 php@7.4-debug
PHP 8.0 php@8.0 php@8.0-debug
PHP 8.1 php or php@8.1 php-debug or php@8.1-debug
PHP 8.2.0-dev php@8.2 php@8.2-debug

Debug versions

For each PHP version there is an extra formula with debug symbols enabled. This version can be used when building or debugging PHP extensions and are not recommended for production usage.

OS Support

Operating System Architecture
Linux 4.18+ x86_64
macOS Catalina x86_64
macOS Big Sur x86_64, arm64
macOS Monterey x86_64, arm64

On Linux, GLIBC 2.27 or newer is required, so distributions with Linux kernel 4.18 and newer are supported.
For example: Ubuntu 18.04, Debian 10, CentOS 8, Fedora 28, and newer versions of these distributions.



  • On macOS, install Xcode Command Line Utilities:
xcode-select --install
  • On Linux, install cURL and Git:
# Using APT
sudo apt-get install -y curl git

# Using Yum
sudo yum install -y curl git
  • Install Homebrew:
/bin/bash -c "$(curl -fsSL"
  • If previously installed, update homebrew and the formulae:
brew update
  • If you have packages from old homebrew/php tap, refer to this guide for removing them.

Add this tap

Fetch the formulae in this tap:

brew tap shivammathur/php

Install PHP

See PHP Support for available formulae.

  • For example, to install PHP 8.0:
brew install shivammathur/php/php@8.0
  • After installing you have to link it:
brew link --overwrite --force shivammathur/php/php@8.0
  • Restart the terminal and test your PHP version:
php -v

Upgrade your PHP version

You can upgrade your PHP version to the latest patch release.

For example, to upgrade PHP 8.0:

brew upgrade shivammathur/php/php@8.0

Switch between PHP versions

  • If you have multiple PHP versions installed, you can switch between them easily.

For example, to switch to PHP 8.0:

brew link --overwrite --force shivammathur/php/php@8.0
  • If you get a warning like below, then do as recommended:
Warning: Already linked: <Cellar Path>
To relink:
  brew unlink <formula> && brew link <formula>
brew unlink php@8.0
brew link --overwrite --force shivammathur/php/php@8.0

Restart your webserver

If you are using Apache or Nginx with php-fpm, restart your webserver after any change in your PHP.

  • For Apache (httpd):
brew services restart httpd
  • For Nginx:
brew services restart nginx


  • Make sure you ran brew update before installing PHP.

  • Run brew doctor and fix the warnings it reports.

  • Make sure homebrew has correct permissions.

sudo chown -R "$(id -un)":"$(id -gn)" $(brew --prefix)
  • If PHP is not working after a macOS update. Reinstall PHP along with its dependencies.

For example to reinstall PHP 8.0 and its dependencies:

brew reinstall $(brew deps shivammathur/php/php@8.0) shivammathur/php/php@8.0
  • Check if your issue is a Homebrew's common issue.

  • If you are still facing an issue, please create a discussion thread here.


The code in this project is licensed under the MIT license. Please see the license file for more information.

This project has some dependencies, and their license can be found here.


Contributions are welcome! Please see Contributor's Guide before you start. If you face any issues while using this tap or want to suggest a feature/improvement, create an discussion thread here.


We use MacStadium for our CI infrastructure.

Mac Stadium Mac Stadium

This project is generously supported by many other users and organisations via GitHub Sponsors.

Sponsor shivammathur

Related Projects



🍺 Homebrew tap for PHP 5.6 to 8.2. PHP 8.2 is a nightly build.




MIT, BSD-2-Clause licenses found

Licenses found


Code of conduct





No releases published

Sponsor this project