为什么 phpinfo() 显示版本 7.4 而 php -v 显示版本 7.2.34?

问题描述

当我使用 PHPinfo() 运行文件时,结果是 PHP 7.4 版 但是命令行运行 PHP -v,但结果是 PHP 7.2.34

PHP 7.2.34-8+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Oct 31 2020 16:57:15) ( NTS ) copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0,copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.34-8+ubuntu18.04.1+deb.sury.org+1,copyright (c) 1999-2018,by Zend Technologies
    with Xdebug v2.9.8,copyright (c) 2002-2020,by Derick Rethans

为什么我看到了差异?

解决方法

phpinfo() 的输出是您的网站将用于显示 PHP 页面的版本。 Apache/Nginx 使用的 PHP 与 PHP 命令行版本不同。它们不会相互干扰。

实际上,您可以编译和加载您希望与 Apache 一起使用的不同 PHP 版本,只要您配置 Apache 以正确加载它们即可。 Apache 永远不会使用 PHP 命令行界面来解析 PHP 页面。

PHP 的命令行版本,即 PHP-CLI,仅用于命令行。