为什么 cake/Console/cake.php 使用的 PHP 版本与终端中设置的版本不同?

问题描述

我现在已经尝试了所有可以想象的方法

出现以下问题:

在终端中,PHP 在 MAMP 的 PHP 7.4.12 版本中运行。

PHP -v 输出

PHP 7.4.12 (cli) (built: Nov 30 2020 13:28:43) ( NTS )
copyright (c) The PHP Group
Zend Engine v3.4.0,copyright (c) Zend Technologies

当我用 which PHP 输出路径时,我得到这个输出

 ❯ which PHP
 /Applications/MAMP/bin/PHP/PHP7.4.12/bin/PHP

如果我现在在 cake.PHP PHP PHPinfo(); 我的 CakePHP 项目中使用 cake/Console/cake.PHP 输出,我得到了 PHP

PHPinfo()
PHP version => 7.3.24-(to be removed in future macOS) 

我尽可能修改了 CLI 的 PHP 版本。这在所有可以想象的文件中。在 ~/.zshrc 中,路径为:export PATH=/Applications/MAMP/bin/PHP/PHP7.4.12/bin:$PATHwhich PHP 也证实了这一点。

我的系统:

  • MacOS Big Sur 11.2.3 版
  • MAMP 专业版 6.3
  • CakePHP 2.10.24

解决方法

毕竟我在 stackoverflow 上找到了解决方案。请注意,这只是另一个答案的摘录。我也在这里链接。 我发现有类似问题的帖子提供了以下解决方案:

  1. 运行以下命令:
export PHP_VERSION=`grep "alias php" ~/.profile | cut -d"/" -f6 | cut -c4-`
  1. 将以下内容添加到 ~/.zshrc 之上:
export PHP_VERSION=`grep "alias php" ~/.profile | cut -d"/" -f6 | cut -c4-`
export PHPRC="/Library/Application Support/appsolute/MAMP PRO/conf/" #point to your php.ini folder to use the same php settings
export PATH=/Applications/MAMP/bin/php/php$PHP_VERSION/bin:$PATH

这是原来的帖子:How to override the path of PHP to use the MAMP path?

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...