服务器与CLI上不同版本的PHP
我运行的是Mac,不幸的是,在CLI和Apache上运行的PHP版本不同。我以前搜索过并可以找到此问题的实例,但无法找到发生此问题的原因或如何解决此问题 当我运行phpinfo()时;并将其加载到浏览器中,我得到以下结果: 版本5.6.24 加载的配置文件:/etc/php.ini 服务器路径:/usr/bin:/bin:/usr/sbin:/sbin 但是,当我在命令行中运行php-v&php--ini时,会得到以下结果: 版本5.6.0 加载的配置文件:/usr/local/lib/php.ini 当我运行'where is php'时,它显示/usr/bin/php,当我运行'which php'时,我得到/usr/local/bin/php服务器与CLI上不同版本的PHP,php,macos,apache,command-line-interface,Php,Macos,Apache,Command Line Interface,我运行的是Mac,不幸的是,在CLI和Apache上运行的PHP版本不同。我以前搜索过并可以找到此问题的实例,但无法找到发生此问题的原因或如何解决此问题 当我运行phpinfo()时;并将其加载到浏览器中,我得到以下结果: 版本5.6.24 加载的配置文件:/etc/php.ini 服务器路径:/usr/bin:/bin:/usr/sbin:/sbin 但是,当我在命令行中运行php-v&php--ini时,会得到以下结果: 版本5.6.0 加载的配置文件:/usr/local/lib/php.
有人能解释为什么会发生这种情况吗?有人知道如何解决这个问题吗?如果可能的话,我想解决根本问题,而不是找到解决办法。我还想卸载未使用的PHP版本。您的路径设置为错误/旧版本。执行导出路径=/usr/local/php5/bin:$PATH 重新启动终端并
php-v
或者看一下看一下:,并关注@bing答案上的@mark reed评论。我的电脑也有同样的问题 当我在终端上检查php版本时
Nanhes-MacBook-Pro:~ nanhekumar$ php -v
echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile
PHP 7.1.16(cli)(构建时间:2018年4月1日14:10:37)(NTS)
版权所有(c)1997-2018 PHP集团
Zend Engine v3.1.0版权所有(c)1998-2018 Zend Technologies
PHP版本7.1.25
解决方案
在我的示例中,您可以通过brew列表查看已安装的phpphp@7.1
Nanhes-MacBook-Pro:~ nanhekumar$ brew link php@7.1
If you need to have this software first in your PATH instead consider running:
echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile
然后在终端上运行这个
Nanhes-MacBook-Pro:~ nanhekumar$ php -v
echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile
重新启动终端,再次检查您的php版本。两个php版本相同
sudo brew services stop php
这为我解决了问题您想要哪个版本,来自Apache还是来自CLI?最终我并不介意,只要它是一致的,但由于Apache是更高的版本,我认为这是我应该使用的版本。您是如何安装Apache的?自制,内置MAMP等?Apache只是随Mac一起安装的版本(最近升级到Sierra,但我已经有一段时间遇到这个问题了)。不久前我手动安装了PHP(./configure-make-install),我认为我安装的PHP不正确,因此它影响了CLI而不是Apache。我认为PHP5.6.24可能是macOS Sierra预装的版本,这意味着CLI实际上是错误的?谢谢你的回答。添加导出路径=感觉更像是一种解决方法,而不是修复方法。当前在哪里设置CLI默认为错误的PHP版本?这可以通过任何其他方法解决,还是可以卸载错误版本的PHP?搜索,SO和Google为您找到很多东西。您可以卸载错误的php版本,但要回答您的问题:CLI默认为错误的php版本的当前设置在哪里?它没有设置为默认值,但设置为使用该确切版本。而这正是我们设定的路径。因此,要解决这个问题,请改变你所需要的路径。