zsh: 找不到命令: php

64

我过去一年一直在使用Mac上的MAMPPHP,即使是旧版本的MacOS也没有问题。但自从我安装了MacOS Monterrey后,在终端中输入php,会出现以下消息:zsh: command not found: php

在之前的MacOS版本上,我从未遇到此问题。

该如何解决这个问题呢?


1
似乎PHP未安装或未在路径中。 - Ulrich Eckhardt
我的项目从本地主机开始,但当我需要在终端中使用例如“php artisan serve”时,我收到消息“zsh:找不到命令:php”。 - Alex
这里也有同样的问题。有人知道如何解决吗? - Miracle Hades
8个回答

113
当我升级MacOS Monterey后,PHP被删除了。我发现这篇文章对我很有用,解决了我的问题。https://wpbeaches.com/updating-to-php-versions-7-4-and-8-on-macos-12-monterey请添加PHP配方。
brew tap shivammathur/php

选择 PHP 版本 - 此示例使用 7.4 版本

brew install shivammathur/php/php@7.4

链接 PHP 版本

brew link --overwrite --force php@7.4

重新启动终端

php -v

3
这应该是被采纳的答案。 - Vijayant
太棒了 - 谢谢你,Eagle - jdm2112

78

1
我无法按照文档安装brew... 有什么特定的操作吗? - Alex
2
你是否在终端输入了以下命令? /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"详情请参考https://brew.sh/ - MetalBearSolid
终于可以工作了,真的非常感谢你! - Alex
3
没有人提到安装Homebrew和Brew都是相当缓慢的任务,并且两者都会下载和安装许多大文件!“这需要一些时间!!”:D - j.c

16

Homebrew的用户:

这可能是因为你的php版本没有链接导致的。

前往/usr/local/Cellar,列出内容并查看你安装了哪些php版本。你应该看到目录和符号链接如下所示:

lrwxr-xr-x    1 kazajhodo  admin      7 May 22  2019 php72 -> php@7.2
lrwxr-xr-x    1 kazajhodo  admin      7 Feb 26  2020 php73 -> php@7.3
lrwxr-xr-x    1 kazajhodo  admin      7 Jun 12  2020 php74 -> php@7.4
lrwxr-xr-x    1 kazajhodo  admin      7 Jan 22  2021 php80 -> php@8.0
lrwxr-xr-x    1 kazajhodo  admin      7 Jan  4 11:58 php81 -> php@8.1
drwxr-xr-x    3 kazajhodo  staff     96 Jan  4 11:34 php@7.2
drwxr-xr-x    3 kazajhodo  staff     96 Aug  8 19:32 php@7.3
drwxr-xr-x    4 kazajhodo  staff    128 Jan  4 11:55 php@7.4
lrwxr-xr-x    1 kazajhodo  admin     18 Jan 22  2021 php@8.0 -> /usr/local/bin/php
lrwxr-xr-x    1 kazajhodo  admin     18 Jan  4 11:58 php@8.1 -> /usr/local/bin/php
如果您需要的版本已经存在,您可以使用brew link php@7.4来进行链接。然后您的bash应该已经定义了php。 再次安装php也是可行的,因为它会在安装过程中添加符号链接;但是您只需要符号链接即可。

这就是方法。我通过brew下载了php@7.4,而不使用php formulae(请参见其他回答)。使用这种方法,我能够找到并创建符号链接。之后,“php -v”可以完美地工作。 - leonelaguzman
可以了!谢谢。我在下载 PHP view homebrew 后使用了这个命令。 - E Allison
我安装了Homebrew,但在/usr/local中没有/Celler文件夹。 - Drewdavid

9

我有同样的问题,这是我用来解决它的方法。

  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
    

7
如果您想在macOS Monterey中获取最新的PHP版本,请按照以下步骤进行:

1: brew tap shivammathur/php

2: brew install shivammathur/php/php@8.2

3: brew link --overwrite --force php@8.2

要检查是否工作正常,请在终端中输入以下命令:php -v

如果输出类似于PHP 8.2.0-dev (cli),则表示工作正常。

3

只需使用 brew install php 即可在Mac上安装最新的php。 然后,您可以通过将以下内容添加到httpd.conf并重新启动Apache来启用Apache中的php:

LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so


1

你需要编辑文件.zshrc

vim ~/.zshrc

然后您需要更新php的路径

在搜索框中输入“?”并搜索“php”...按Enter键,它将显示php所在的行。如果没有,您必须添加PHP的路径。

如果您使用Mamp,则应该在mamp的根目录上设置它。将其设置为您的.zshrc文件。

这是我与php相关的.zshrc:

#export PATH="/usr/local/opt/php@7.4/bin:$PATH"
#export PATH="/usr/local/opt/php@7.4/sbin:$PATH"
#export PATH="/usr/local/sbin:$PATH"

export PATH="/usr/local/opt/php@8.1/bin:$PATH"
export PATH="/usr/local/opt/php@8.1/sbin:$PATH"
export PATH="/usr/local/sbin:$PATH"

-2

你可能需要在.bashrc文件中对其进行修复。

操作步骤如下:

打开终端并运行以下命令:

nano ~/.bashrc 

然后在.bashrc文件中添加这一行:

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

保存并退出 (ctrl + x)


仍然不起作用。 - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接