PHP信息/Valet - 两个不同的 PHP 版本
PHPInfo / Valet - Two different PHP versions
好的,所以我遇到了一些很奇怪的事情。我的 phpinfo()
显示一个版本,而 php -v
显示另一个版本。
我 运行 在本地使用 MacBook Air (Mojave),Laravel 和 Valet.
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
在我的终端中,它显示:
php -v
PHP 7.3.0 (cli) (built: Dec 7 2018 11:00:11) ( NTS )
现在,如果我执行 which php
,我会得到:
/usr/local/bin/php
在我的 ~/.bash-profile
中,我有这个:
export "PATH=~/.composer/vendor/bin:$PATH"
我尝试过:
- 重启 Nginx
重启Valet
Unlink PHP@7.2 和 link PHP@7.3with Homebrew:
Olivers-MacBook-Air:~ oliverbusk$ brew unlink php@7.2
错误:没有这样的小桶:/usr/local/Cellar/php@7.2
如何让我的实际 valet 网站使用 php@7.3?
像重启我的 Macbook 这样简单的事情解决了这个问题。重新启动后,正确的版本 7.3
显示在我的 phpinfo();
中
昨天我在Ubuntu18遇到了同样的问题。
起初我更改了PHP版本:
$ sudo a2dismod php7.2
$ sudo a2enmod php7.3
$ sudo update-alternatives --set php /usr/bin/7.3
但是 valet 仍然显示错误的 PHP 版本。重新启动没有工作。事实上,phpinfo()
显示的是 PHP 7.1.
在 运行 ps -aux | grep php
之后,我注意到 php-fpm
(5.6、7.1 和 7.2)运行ning 的实例很少。
我阻止了他们
$ sudo service php5.6-fpm stop
$ sudo service php7.1-fpm stop
$ sudo service php7.2-fpm stop
然后开始7.3
$ sudo service php7.3-fpm start
现在我的 phpinfo()
显示 PHP
的正确版本
好消息,请升级到最新的代客版本,您可以轻松切换php版本。
资料来源:https://laravel.com/docs/5.8/valet
PHP Versions
Valet allows you to switch PHP versions using the valet use php@version command. Valet will install the specified PHP version via Brew if it is not already installed:
valet use php@7.2
valet use php //without any specification, it will be using latest version
来自 MacBook pro (Mojave),Laravel 和 Valet:
valet use php@7.2
基本上 php 代客使用的和您的 mac 书使用的是不同的。
但是正如@Shiro 和@Israel Alexis Palma Quezada 已经提到的那样,在较新的版本中 valet use php73
会解决您的问题。
如果它不起作用,请尝试 运行ning composer global update
更新您的全局包,从而更新 valet
要更新 mac php 版本,运行:
export PATH="your/path/to/php@7.3/bin:$PATH"
export PATH="your/path/to/php@7.3/sbin:$PATH"
或者只需将这两行添加到您的 ~/.profile
或 ~/.bash_profile
不要忘记 运行 source ~/.profile
或 source ~/.bash_profile
或您选择编辑的任何文件。
下面的简单修复对我有用。
rm ~/.config/valet/valet.sock
valet restart
我 运行 今天在使用 valet plus 时遇到了同样的问题。当我切换 PHP 版本时,它在我的浏览器中显示了前一个版本,但在我的终端中显示了正确的版本。查看我的 brew 服务列表:
brew services list
它显示其中一项 valet-php 服务 (valet-php@7.2) 不在服务列表中,但不知何故我的代客能够切换到它。 Valet 没有正确安装此 PHP,这就是导致问题的原因。我执行了以下操作来卸载 PHP 并使用 brew 重新安装它。
brew uninstall valet-php@7.2
sudo rm -rf /usr/local/Cellar/valet-php@7.2/7.2.34_1
brew install valet-php@7.2
曾经不显示在 brew 服务列表中的 PHP 版本现在显示了,我能够“停止”那个 php 版本的服务:
brew services stop valet-php@7.2
无需重启即可使一切正常运行。
为了能够在我的机器上有效地更改 php 的版本,我使用了以下脚本:
添加到您的用户。bash_profile
然后用下面命令切换
切换-php7.x
switch-php() {
valet stop
brew unlink php@7.2 php@7.3 php@7.4
brew link --force --overwrite php@
brew services restart php@
composer global update
rm -f ~/.config/valet/valet.sock
valet install
}
https://gist.github.com/r1tt3r/e0f199eb274d5ff186b73956af594316
我 运行 linux valet 在 Ubuntu 20.04 ,下面的命令对我有效
valet use 8.0
这里8.0指的是php版本
在我的例子中,它在强制特定的 PHP 版本后起作用:
valet use php@7.4 --force
注意:在 Ubuntu 20.04 Desktop
上测试了此解决方案
如果您正在使用 Valet Linux Plus(比 Valet Linux 具有更多功能),请使用 valet use {your PHP version} --update-cli
。例如使用 php8.0 只是 运行:
valet use 8.0 --update-cli
这将同时更新 php-fpm 版本和 php-cli 版本。
好的,所以我遇到了一些很奇怪的事情。我的 phpinfo()
显示一个版本,而 php -v
显示另一个版本。
我 运行 在本地使用 MacBook Air (Mojave),Laravel 和 Valet.
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
在我的终端中,它显示:
php -v
PHP 7.3.0 (cli) (built: Dec 7 2018 11:00:11) ( NTS )
现在,如果我执行 which php
,我会得到:
/usr/local/bin/php
在我的 ~/.bash-profile
中,我有这个:
export "PATH=~/.composer/vendor/bin:$PATH"
我尝试过:
- 重启 Nginx
重启Valet
Unlink PHP@7.2 和 link PHP@7.3with Homebrew:
Olivers-MacBook-Air:~ oliverbusk$ brew unlink php@7.2 错误:没有这样的小桶:/usr/local/Cellar/php@7.2
如何让我的实际 valet 网站使用 php@7.3?
像重启我的 Macbook 这样简单的事情解决了这个问题。重新启动后,正确的版本 7.3
显示在我的 phpinfo();
昨天我在Ubuntu18遇到了同样的问题。
起初我更改了PHP版本:
$ sudo a2dismod php7.2
$ sudo a2enmod php7.3
$ sudo update-alternatives --set php /usr/bin/7.3
但是 valet 仍然显示错误的 PHP 版本。重新启动没有工作。事实上,phpinfo()
显示的是 PHP 7.1.
在 运行 ps -aux | grep php
之后,我注意到 php-fpm
(5.6、7.1 和 7.2)运行ning 的实例很少。
我阻止了他们
$ sudo service php5.6-fpm stop
$ sudo service php7.1-fpm stop
$ sudo service php7.2-fpm stop
然后开始7.3
$ sudo service php7.3-fpm start
现在我的 phpinfo()
显示 PHP
好消息,请升级到最新的代客版本,您可以轻松切换php版本。 资料来源:https://laravel.com/docs/5.8/valet
PHP Versions
Valet allows you to switch PHP versions using the valet use php@version command. Valet will install the specified PHP version via Brew if it is not already installed:
valet use php@7.2
valet use php //without any specification, it will be using latest version
来自 MacBook pro (Mojave),Laravel 和 Valet:
valet use php@7.2
基本上 php 代客使用的和您的 mac 书使用的是不同的。
但是正如@Shiro 和@Israel Alexis Palma Quezada 已经提到的那样,在较新的版本中 valet use php73
会解决您的问题。
如果它不起作用,请尝试 运行ning composer global update
更新您的全局包,从而更新 valet
要更新 mac php 版本,运行:
export PATH="your/path/to/php@7.3/bin:$PATH"
export PATH="your/path/to/php@7.3/sbin:$PATH"
或者只需将这两行添加到您的 ~/.profile
或 ~/.bash_profile
不要忘记 运行 source ~/.profile
或 source ~/.bash_profile
或您选择编辑的任何文件。
下面的简单修复对我有用。
rm ~/.config/valet/valet.sock
valet restart
我 运行 今天在使用 valet plus 时遇到了同样的问题。当我切换 PHP 版本时,它在我的浏览器中显示了前一个版本,但在我的终端中显示了正确的版本。查看我的 brew 服务列表:
brew services list
它显示其中一项 valet-php 服务 (valet-php@7.2) 不在服务列表中,但不知何故我的代客能够切换到它。 Valet 没有正确安装此 PHP,这就是导致问题的原因。我执行了以下操作来卸载 PHP 并使用 brew 重新安装它。
brew uninstall valet-php@7.2
sudo rm -rf /usr/local/Cellar/valet-php@7.2/7.2.34_1
brew install valet-php@7.2
曾经不显示在 brew 服务列表中的 PHP 版本现在显示了,我能够“停止”那个 php 版本的服务:
brew services stop valet-php@7.2
无需重启即可使一切正常运行。
为了能够在我的机器上有效地更改 php 的版本,我使用了以下脚本:
添加到您的用户。bash_profile
然后用下面命令切换
切换-php7.x
switch-php() {
valet stop
brew unlink php@7.2 php@7.3 php@7.4
brew link --force --overwrite php@
brew services restart php@
composer global update
rm -f ~/.config/valet/valet.sock
valet install
}
https://gist.github.com/r1tt3r/e0f199eb274d5ff186b73956af594316
我 运行 linux valet 在 Ubuntu 20.04 ,下面的命令对我有效
valet use 8.0
这里8.0指的是php版本
在我的例子中,它在强制特定的 PHP 版本后起作用:
valet use php@7.4 --force
注意:在 Ubuntu 20.04 Desktop
上测试了此解决方案如果您正在使用 Valet Linux Plus(比 Valet Linux 具有更多功能),请使用 valet use {your PHP version} --update-cli
。例如使用 php8.0 只是 运行:
valet use 8.0 --update-cli
这将同时更新 php-fpm 版本和 php-cli 版本。