PHP-FPM降级后的Composer错误

问题描述 投票:0回答:1

我最近通过清除nginx和php-fpm以及删除php 7 fpm文件夹将我的PHP-FPM版本从7降级到5.6。它运行良好,因为我的PHP版本现在是5.6。

$ php -v
PHP 5.6.30 (cli) (built: Dec 13 2017 00:40:36) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

我的问题是每当我在我的项目上执行composer install时,我会收到以下错误:

Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for behat/behat 3.2.x-dev -> satisfiable by behat/behat[3.2.x-dev].
    - behat/behat 3.2.x-dev requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 2
    - Installation request for behat/behat dev-master -> satisfiable by behat/behat[dev-master].
    - behat/behat dev-master requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 3
    - Installation request for instaclick/php-webdriver 1.4.5 -> satisfiable by instaclick/php-webdriver[1.4.5].
    - instaclick/php-webdriver 1.4.5 requires ext-curl * -> the requested PHP extension curl is missing from your system.
  Problem 4
    - behat/behat 3.2.x-dev requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - behat/symfony2-extension dev-master requires behat/behat ~3.0,>=3.0.4 -> satisfiable by behat/behat[3.2.x-dev].
    - Installation request for behat/symfony2-extension dev-master -> satisfiable by behat/symfony2-extension[dev-master].

  To enable extensions, verify that they are enabled in those .ini files:
    - /etc/php/7.1/cli/php.ini
    - /etc/php/7.1/cli/conf.d/10-opcache.ini
    - /etc/php/7.1/cli/conf.d/10-pdo.ini
    - /etc/php/7.1/cli/conf.d/15-xml.ini
    - /etc/php/7.1/cli/conf.d/20-calendar.ini
    - /etc/php/7.1/cli/conf.d/20-ctype.ini
    - /etc/php/7.1/cli/conf.d/20-dom.ini
    - /etc/php/7.1/cli/conf.d/20-exif.ini
    - /etc/php/7.1/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.1/cli/conf.d/20-ftp.ini
    - /etc/php/7.1/cli/conf.d/20-gettext.ini
    - /etc/php/7.1/cli/conf.d/20-iconv.ini
    - /etc/php/7.1/cli/conf.d/20-json.ini
    - /etc/php/7.1/cli/conf.d/20-phar.ini
    - /etc/php/7.1/cli/conf.d/20-posix.ini
    - /etc/php/7.1/cli/conf.d/20-readline.ini
    - /etc/php/7.1/cli/conf.d/20-shmop.ini
    - /etc/php/7.1/cli/conf.d/20-simplexml.ini
    - /etc/php/7.1/cli/conf.d/20-sockets.ini
    - /etc/php/7.1/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.1/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.1/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.1/cli/conf.d/20-tokenizer.ini
    - /etc/php/7.1/cli/conf.d/20-wddx.ini
    - /etc/php/7.1/cli/conf.d/20-xmlreader.ini
    - /etc/php/7.1/cli/conf.d/20-xmlwriter.ini
    - /etc/php/7.1/cli/conf.d/20-xsl.ini

正如您所看到的,错误仍然引用PHP 7,考虑到我的PHP版本现在为5.6,这真的很奇怪。

什么想法可能是错的?谢谢。

php nginx
1个回答
1
投票

将您的锁定文件移动(或删除)为临时名称,然后再次进行作曲家更新。这将删除锁定文件中包含的旧数据,并仅使用composer.json中的最新数据

mv composer.lock{,.bak} #move to composer.lock.bak
composer install #installs the project dependencies from the composer.lock file if present, or falls back on the composer.json

作为一个不相关的注释,为了确保您使用正确的PHP版本的Web服务器,在您的网站的根文件夹中创建一个仅包含以下内容的网页:

<?php phpinfo();

因为php -v只提供命令行版本的版本。

© www.soinside.com 2019 - 2024. All rights reserved.