Drupal 8 安装设置显示 PHP 版本比服务器 运行 旧

Drupal 8 installation setup shows older PHP version than what the server is running

安装 Drupal 8 时,就在数据库设置之前,我收到了一些错误和警告,但我也看到了以下内容:

PHP

7.1.14-1+ubuntu16.04.1+deb.sury.org+1

但是,php -v 我得到:

PHP 7.2.2-3+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb  6 2018 16:11:23) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.2-3+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

显然,我的 Web 服务器是 运行 7.2,但 Drupal 认为它是 7.1。这导致了一个问题,我在 PHP 7.2 上安装了 gd,但是 Drupal 没有看到 PHP 7.1 上安装了 gd(因为它至少没有它的 php.ini 文件没有启用 gd 扩展名)。与其他一些错误和警告相同。

如何让 Drupal 8 识别正确的 PHP 版本?

尝试使用 composer 安装

此方法在 web 文件夹中创建项目,在 web 文件夹外创建其他文件

composer create-project drupal-composer/drupal-project:8.x-dev d8_test_project --stability dev --no-interaction

或者

此方法以普通文件夹结构创建项目

composer create-project drupal/drupal my_site_name 8.*@dev --no-dev

我认为这与 "recognizing" 版本无关,但您很可能有 2 个不同的版本,一个用于控制台,另一个用于 Web 服务器。 运行 phpinfo() 并查看 Web 服务器使用的 PHP 版本。

所以我想通了:

运行 sudo a2dismod php7.1 然后 sudo a2enmod php7.2 似乎运行良好(在重新启动 Apache 之后)。