【问题标题】:Drupal 8 installation setup shows older PHP version than what the server is runningDrupal 8 安装设置显示的 PHP 版本比服务器运行的版本旧
【发布时间】:2018-02-19 01:45:24
【问题描述】:

在安装 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

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

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

【问题讨论】:

  • 您的服务器可能正在运行多个 php 版本
  • 当您键入 php -v 时,您正在检索 CLI 版本。 CLI 版本不一定代表 Web 服务器正在使用的版本。根据您提供内容的方式,您可能需要更改一些配置文件,或者它可以像转到 cPanel 并从那里更改一样简单。取决于您如何安装 Apache/nginx 或您使用的任何 Web 服务器。
  • 我没有 cPanel。我只有 Apache 和命令行界面。那么,“更改一些配置文件”到底是什么意思?

标签: php apache drupal webserver drupal-8


【解决方案1】:

所以我想通了:

运行 sudo a2dismod php7.1 然后运行 ​​sudo a2enmod php7.2 似乎可以正常工作(在重新启动 Apache 之后)。

【讨论】:

    【解决方案2】:

    尝试使用 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
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 奇怪的是,显示PHP Version 7.1.14-1+ubuntu16.04.1+deb.sury.org+1。那么,如何摆脱旧版本,以免发生这种情况?
      猜你喜欢
      • 2023-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 2013-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多