【问题标题】:Cant upgrade php version on MacOS Catalina无法在 MacOS Catalina 上升级 php 版本
【发布时间】:2020-08-31 05:39:34
【问题描述】:

我有一个非常烦人的问题。我在 MacOS Catalina 上有 2 个版本的 PHP,无论我做什么,我似乎都无法摆脱旧的(php 7.3.x)版本。即使我是管理员用户,我也无法更改 Mac 上 /usr/bin/ 中的任何内容。

PHP 的 2 个版本是:

$ /usr/bin/php -v
PHP 7.3.11 (cli) (built: Apr 17 2020 19:14:14) ( NTS )
$ /usr/local/bin/php -v
PHP 7.4.9 (cli) (built: Aug  7 2020 19:23:06) ( NTS )

即使 which phpphp -v 使用 7.4:

$ which php
/usr/local/bin/php
$ php -v
PHP 7.4.9 (cli) (built: Aug  7 2020 19:23:06) ( NTS )

问题是,当我的 cron 作业运行时,它使用 /usr/bin/php(版本 7.3.x),使我的 cron 作业失败(结果是一些 Laravel 包代码 - 特别是 Mailcoach - 不兼容php 7.3.* 和需要 php v 7.4 或更高版本。

这就是我的 PATH 变量的样子:

$ echo $PATH
/usr/local/bin/php:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:./vendor/bin:/usr/local/sbin:/Users/kunalpunjabi/.composer/vendor/bin:/usr/local/mysql/bin:/usr/local/bin/mysql

如果您以前遇到过这种情况或知道如何解决,请帮忙!

【问题讨论】:

  • 您能否检查一下schedule:run cronjob 的设置,看看它是否设置为使用/usr/local/bin/php 而不是/usr/bin/php?就个人而言,我总是使用像 Docker 这样的虚拟机,所以我可以完全控制我的开发环境。如果我的操作系统发生任何变化,我不会遇到依赖关系、版本等问题。
  • @GlennM 和* * * * * cd /scheduler_crons && /usr/local/bin/php artisan schedule:run 可以正常工作,但我需要升级 /usr/bin/php。这就是这个问题的意义......我需要这个 crontab 也可以工作:* * * * * cd /scheduler_crons && php artisan schedule:run,它不是因为 php 版本不正确

标签: php laravel


【解决方案1】:

你是通过自制软件安装它们的吗?

如果是这样,请尝试链接 php7.4

先看看php目前运行的低谷是什么

brew services list

然后停止并取消链接该版本

brew services stop {PHP}
brew unlink {PHP}

然后链接正确的版本

brew link --force --overwrite php@7.4
brew services start php@7.4

你能试试这个吗?

如果这不起作用,您能否上传“酿造服务列表”的屏幕截图

【讨论】:

  • 我只是尝试了这些步骤,但没有帮助。问题不在于使用 brew 安装的主 php 版本,它始终显示为 7.4.9。问题是 cron 使用的版本是 /usr/bin/php 这是 v 7.3 - 这是我需要摆脱的版本。另见:$ brew services list Name Status User Plist mysql started kp123 /Users/kp123/Library/LaunchAgents/homebrew.mxcl.mysql.plist php started kp123 /Users/kp123/Library/LaunchAgents/homebrew.mxcl.php.plist
猜你喜欢
  • 1970-01-01
  • 2021-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-27
  • 2020-03-26
  • 2020-09-19
  • 1970-01-01
相关资源
最近更新 更多