How to Change PHP Version on Mac: A Complete Tutorial (2024 Update)

If you’re a web developer or just someone experimenting with PHP on your Mac, you might find yourself needing to change the PHP version for different projects. Depending on the software stack you’re working with, older or newer versions of PHP may be required. This tutorial will walk you through the process of changing the PHP version on your Mac step by step.

Whether you want to switch between PHP 7.4, PHP 8.0, or the latest version, this guide will help you easily change the PHP version, configure your Mac properly, and avoid common pitfalls.

Why You Might Need to Change PHP Versions

Before diving into the process, let’s explore a few reasons why you might need to change the PHP version:

  1. Project Requirements: Different web applications or CMS (like WordPress, Laravel, or Magento) may require specific PHP versions for compatibility reasons.
  2. Performance Improvements: Newer versions of PHP (e.g., PHP 8.0 or PHP 8.1) offer performance improvements and security enhancements. You might want to upgrade to take advantage of these features.
  3. Development Testing: If you’re developing for various environments, you might need to test your code on multiple PHP versions to ensure compatibility across all platforms.

Prerequisites for Changing PHP Version on Mac

Before getting started, make sure you have the following:

  • A Mac running macOS (the steps below should work on both Intel and M1/M2 Macs).
  • Homebrew installed on your system. If you don’t have Homebrew, install it by running:bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • A terminal to execute the commands (You can open the terminal by searching for it in Spotlight).

Step-by-Step Guide to Changing PHP Version on Mac

Step 1: Check the Current PHP Version

To begin, let’s check the version of PHP currently installed on your Mac. Open the terminal and type:

php -v

This command will display the current PHP version installed on your system. It will look something like this:

PHP 7.4.30 (cli) (built: May 10 2023 21:21:21) ( NTS )

Step 2: Install Multiple PHP Versions with Homebrew

One of the easiest ways to manage multiple PHP versions on your Mac is by using Homebrew. With Homebrew, you can install and switch between PHP versions seamlessly.

Start by updating Homebrew to ensure you have the latest versions available:

brew update

Now, install the desired PHP versions. Let’s say you want to install PHP 7.4, PHP 8.0, and PHP 8.1. Use the following commands:

These commands will install different versions of PHP on your system. If you’re looking for the latest PHP version (e.g., PHP 8.1), just use:

brew install php

Once installed, you can verify the available PHP versions with Homebrew by listing the installed formulae:

brew list | grep php

Step 3: Switching Between PHP Versions

Now that you have multiple PHP versions installed on your Mac, it’s time to switch between them. By default, the system’s PHP version might be located in /usr/bin/php. However, Homebrew installations are typically stored in /usr/local/opt/php.

To switch PHP versions, we will use the brew link and brew unlink commands.

For example, to switch to PHP 8.1, run:

brew unlink [email protected]
brew link [email protected] --force --overwrite

If you want to switch back to PHP 7.4, you can use:

brew unlink [email protected]
brew link [email protected] --force --overwrite

After switching versions, verify it by checking the PHP version again:

php -v

It should now display the version you’ve switched to, confirming that PHP is running with the desired version.

Step 4: Managing PHP Extensions and Configurations

Each PHP version might require different extensions for your projects. After switching to a new version, you’ll need to make sure the correct extensions are installed.

For example, to install commonly used extensions like xdebug or imagick for PHP 8.1, use:

brew install [email protected]
brew install [email protected]

Additionally, PHP configurations (like php.ini settings) are version-specific. To find and edit the configuration file for the current PHP version, use:

php --ini

This will show the location of the configuration file. You can then open it in your favorite text editor (e.g., nano or vim) to make necessary changes:

nano /usr/local/etc/php/8.1/php.ini

Step 5: Set PHP Version for Apache (Optional)

If you are using Apache as your web server, you’ll need to configure Apache to use the correct PHP version. By default, Apache might be using the system’s PHP version, but you can update it to use your Homebrew-installed version.

First, stop Apache:

sudo apachectl stop

Then, update the httpd.conf file located at /usr/local/etc/httpd/httpd.conf to point to the correct PHP module. Open the file:

sudo nano /usr/local/etc/httpd/httpd.conf

Find the line that loads the PHP module (it might look like LoadModule php7_module or LoadModule php8_module) and replace it with the correct version. For example, to use PHP 8.1, you would add:

LoadModule php_module /usr/local/opt/[email protected]/lib/httpd/modules/libphp.so

Restart Apache to apply the changes:

sudo apachectl start

Verify that Apache is now using the correct PHP version by creating a simple phpinfo() file in your web directory:

<?php
phpinfo();
?>

Visit the file in your browser, and it will display the current PHP version running on your server.

Step 6: Automating PHP Version Switching

You can create a simple bash script to quickly switch between PHP versions without typing long commands every time.

Create a file named switch-php.sh:

nano ~/switch-php.sh

Add the following content:

#!/bin/bash
version=$1

brew unlink php
brew link [email protected]$version --force --overwrite
php -v

Save the file and make it executable:

chmod +x ~/switch-php.sh

Now, you can switch PHP versions with a simple command like:

./switch-php.sh 8.1

Conclusion: Simplifying PHP Version Management on Mac

Switching between PHP versions on your Mac is crucial for testing and compatibility in web development. By using Homebrew, you can easily manage multiple PHP versions, switch between them, and configure your web server to use the correct version. Following this step-by-step guide, you’ll be able to efficiently work with different PHP environments and ensure smooth project execution.

Whether you’re a beginner or an experienced developer, having control over the PHP versions on your Mac will help you streamline your workflow and ensure compatibility across projects. With this guide, you now have all the tools you need to change PHP versions on Mac seamlessly.

Frequently Asked Questions (FAQ)

1. How do I check all installed PHP versions on my Mac?
You can use brew list | grep php to see all the installed PHP versions via Homebrew.

2. Can I run multiple PHP versions at the same time?
While you can install multiple versions, only one can be the active version in the terminal at a time. However, you can configure your web server to handle different PHP versions for different projects.

3. How do I uninstall a PHP version installed with Homebrew?
Simply run brew uninstall php@version (e.g., brew uninstall [email protected]) to remove a specific version.

Now you’re ready to manage PHP versions like a pro!

About the Author: Edwin Diaz Edwin Diaz is an engineer, programmer, web developer, instructor, and entrepreneur. His hobbies include traveling, biking, rollerblading, swimming, hiking, and writing. Personal Note: I have a strong belief in a higher power and strive to give without expecting anything in return. Helping others is my passion, and I aim to make a positive impact on the world by doing everything I can to assist everyone I meet.

Leave a reply:

Your email address will not be published.

Site Footer