PHPInfo / Valet - 两个不同的 PHP 版本

oli*_*rbj 5 php laravel valet

好的,所以我遇到了一些很奇怪的事情。我的phpinfo()显示一个版本,而php -v显示另一个。

我在 MacBook Air (Mojave) 上本地运行,使用LaravelValet

phpinfo()

PHP Version 7.2.13

Configuration File (php.ini) Path   /usr/local/etc/php/7.2
Loaded Configuration File   /usr/local/etc/php/7.2/php.ini
Scan this dir for additional .ini files /usr/local/etc/php/7.2/conf.d
Run Code Online (Sandbox Code Playgroud)

在我的终端中,它显示:

php -v

PHP 7.3.0 (cli) (built: Dec  7 2018 11:00:11) ( NTS )
Run Code Online (Sandbox Code Playgroud)

现在,如果我做一个which php我得到这个:

/usr/local/bin/php
Run Code Online (Sandbox Code Playgroud)

在我的~/.bash-profile,我有这个:

export "PATH=~/.composer/vendor/bin:$PATH"

我试图:

  • 重启 Nginx
  • 重启代客

  • 取消链接 PHP@7.2 并将 PHP@7.3 与 Homebrew 链接:

    Olivers-MacBook-Air:~ Oliverbusk$ brew unlink php@7.2 错误:没有这样的桶:/usr/local/Cellar/php@7.2

如何让我的实际代客站点使用php@7.3

Cha*_*wan 21

下面的简单修复对我有用。

rm ~/.config/valet/valet.sock
valet restart 
Run Code Online (Sandbox Code Playgroud)

  • 效果很好,但我似乎需要时不时地重复这个(也许在重新启动计算机后),有永久的解决方案吗? (3认同)

gra*_*vic 6

就我而言,它在强制使用特定的 PHP 版本后起作用:

valet use php@7.4 --force
Run Code Online (Sandbox Code Playgroud)


Shi*_*iro 5

好消息,请升级到最新代客版本,您可以轻松切换php版本。来源: https: //laravel.com/docs/5.8/valet

PHP 版本

Valet 允许您使用 valet use php@version 命令切换 PHP 版本。如果尚未安装,Valet 将通过 Brew 安装指定的 PHP 版本:

valet use php@7.2

valet use php   //without any specification, it will be using latest version
Run Code Online (Sandbox Code Playgroud)


oli*_*rbj 4

像重新启动我的 Macbook 这样简单的事情就解决了这个问题。重新启动后,正确的版本7.3显示在我的phpinfo();

  • rm ~/.config/valet/valet.sock; 代客重启;为我解决了 (2认同)