'zsh: command not found: php

I have been using php with mamp on mac for a year even with old versions of MacOS, since I installed MacOS Monterrey if I type php on the terminal I get a message:zsh: command not found: php

Using older versions of MacOS I have never had this problem.

How can I solve the problem?



Solution 1:[1]

I had the same issue after updating to Monterry. After some googling, I find out MacOS doesn't include PHP. You need Homebrew to install PHP again.

brew install php

https://daily-dev-tips.com/posts/installing-php-on-your-mac/

Solution 2:[2]

When I update MacOS Monterey, PHP was remove. I found this article it useful and solve this problem for me. https://wpbeaches.com/updating-to-php-versions-7-4-and-8-on-macos-12-monterey

Add the PHP formulae

brew tap shivammathur/php

Choose the PHP version – this example uses 7.4

brew install shivammathur/php/[email protected]

Link the PHP Version

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

Restart the Terminal

php -v

Solution 3:[3]

Homebrew users:

This can happen simply because your php version is not linked.

Goto /usr/local/Cellar, list out the content and see what versions of php you have installed. You should see directories and symlinks as so:

lrwxr-xr-x    1 kazajhodo  admin      7 May 22  2019 php72 -> [email protected]
lrwxr-xr-x    1 kazajhodo  admin      7 Feb 26  2020 php73 -> [email protected]
lrwxr-xr-x    1 kazajhodo  admin      7 Jun 12  2020 php74 -> [email protected]
lrwxr-xr-x    1 kazajhodo  admin      7 Jan 22  2021 php80 -> [email protected]
lrwxr-xr-x    1 kazajhodo  admin      7 Jan  4 11:58 php81 -> [email protected]
drwxr-xr-x    3 kazajhodo  staff     96 Jan  4 11:34 [email protected]
drwxr-xr-x    3 kazajhodo  staff     96 Aug  8 19:32 [email protected]
drwxr-xr-x    4 kazajhodo  staff    128 Jan  4 11:55 [email protected]
lrwxr-xr-x    1 kazajhodo  admin     18 Jan 22  2021 [email protected] -> /usr/local/bin/php
lrwxr-xr-x    1 kazajhodo  admin     18 Jan  4 11:58 [email protected] -> /usr/local/bin/php

If the version you want is there, you can link it with brew link [email protected].

Then your bash should have php defined.

Installing php again will also work, because it will add the symlink in the install process; but you only likely actually need the symlink.

Solution 4:[4]

I have same problem and this is the solution that I use for this.

  1. install Xcode using your terminal

     xcode-select --install
    
  2. install homebrew using your terminal

     /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    

    when it finish the process you need to add the homebrew in your path and for this put this code

     echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/**xxxxxxx**/.zprofile
     eval "$(/opt/homebrew/bin/brew shellenv)"
    

    xxxxxxx write your user name

    now you can check if homebrew is run correctly, use the next code.

     brew --version 
    

    you can see in the terminal the version that you have install in your pc

  3. now is time for install php for this

     brew install php
    

    finally, you can try see the version of php installed

     php --version
    

Solution 5:[5]

If you want the latest PHP release in macOS Monterey then follow these steps:

1: brew tap shivammathur/php

2: brew install shivammathur/php/[email protected]

3: brew link --overwrite --force [email protected]

to check if its working, write this in the terminal: php -v

if you get something along the lines of PHP 8.2.0-dev (cli) then its working

Solution 6:[6]

You have to edit the file .zshrc

vim ~/.zshrc

and Then you update the path for your php

type on "?" search "php" ... type enter, it will show you the line where php is. If not you have to add the path of your PHP.

You use Mamp, then it should on the root of mamp. set it on your .zshrc

This my .zshrc related to php :

#export PATH="/usr/local/opt/[email protected]/bin:$PATH"
#export PATH="/usr/local/opt/[email protected]/sbin:$PATH"
#export PATH="/usr/local/sbin:$PATH"

export PATH="/usr/local/opt/[email protected]/bin:$PATH"
export PATH="/usr/local/opt/[email protected]/sbin:$PATH"
export PATH="/usr/local/sbin:$PATH"

Solution 7:[7]

You probably need to fix it in the .bashrc file.

Do this:

Open the terminal and run this command:

nano ~/.bashrc 

Then add this line in the .bashrc file:

export PATH=$PATH:/usr/share/php/bin

Save and exit (ctrl + x)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 MetalBearSolid
Solution 2 PTucky Eagle
Solution 3
Solution 4 Dharman
Solution 5 Abduladil Sunnat
Solution 6 Kam Dane
Solution 7 Nabeel Khan