拉git后出现Laravel致命错误

拉git后出现Laravel致命错误,git,laravel,laravel-5,composer-php,Git,Laravel,Laravel 5,Composer Php,我在laravel中运行composer.json,出现以下错误: Problem 1 - Installation request for doctrine/inflector v1.3.0 -> satisfiable by doctrine/inflector[v1.3.0]. - doctrine/inflector v1.3.0 requires php ^7.1 -> your PHP version (5.6.35) does not satisfy t

我在laravel中运行composer.json,出现以下错误:

Problem 1
    - Installation request for doctrine/inflector v1.3.0 -> satisfiable by doctrine/inflector[v1.3.0].
    - doctrine/inflector v1.3.0 requires php ^7.1 -> your PHP version (5.6.35) does not satisfy that requirement.
  Problem 2
    - Installation request for symfony/event-dispatcher v4.0.4 -> satisfiable by symfony/event-dispatcher[v4.0.4].
    - symfony/event-dispatcher v4.0.4 requires php ^7.1.3 -> your PHP version (5.6.35) does not satisfy that requirement.
  Problem 3
    - Installation request for doctrine/instantiator 1.1.0 -> satisfiable by doctrine/instantiator[1.1.0].
    - doctrine/instantiator 1.1.0 requires php ^7.1 -> your PHP version (5.6.35) does not satisfy that requirement.
  Problem 4
    - Installation request for phpdocumentor/reflection-docblock 4.3.0 -> satisfiable by phpdocumentor/reflection-docblock[4.3.0].
    - phpdocumentor/reflection-docblock 4.3.0 requires php ^7.0 -> your PHP version (5.6.35) does not satisfy that requirement.
  Problem 5
    - Installation request for phpunit/php-token-stream 2.0.2 -> satisfiable by phpunit/php-token-stream[2.0.2].
    - phpunit/php-token-stream 2.0.2 requires php ^7.0 -> your PHP version (5.6.35) does not satisfy that requirement.
  Problem 6
    - Installation request for symfony/yaml v4.0.4 -> satisfiable by symfony/yaml[v4.0.4].
    - symfony/yaml v4.0.4 requires php ^7.1.3 -> your PHP version (5.6.35) does not satisfy that requirement.
  Problem 7
    - doctrine/inflector v1.3.0 requires php ^7.1 -> your PHP version (5.6.35) does not satisfy that requirement.
    - laravel/framework v5.4.36 requires doctrine/inflector ~1.1 -> satisfiable by doctrine/inflector[v1.3.0].
    - Installation request for laravel/framework v5.4.36 -> satisfiable by laravel/framework[v5.4.36].
我理解这是由于本地主机和服务器的版本差异造成的。在本地主机上安装PHP7.0,在服务器上安装PHP5.6

我的composer.json文件是:

{
    "name": "florientr/laravel-gentelella",
    "description": "The Laravel 5.4 framework with Gentelella template",
    "keywords": [
      "framework",
      "laravel",
      "laravel 5.4",
      "gentelella",
      "laravel-gentelella",
      "template",
      "bootstrap",
      "responsive",
      "admin",
      "php",
      "html",
      "css",
      "taggable",
      "gravatar",
      "form html"
    ],
    "license": "MIT",
    "version": "4.2.0",
    "type": "project",
    "require": {
        "php": ">=5.6.4",
        "laravel/framework": "5.4.*",
        "thomaswelton/laravel-gravatar": "~1.0",
        "rtconner/laravel-tagging": "~2.2",
        "laravelcollective/html": "^5.4",
        "cartalyst/sentinel": "2.0.*",
        "laracasts/flash": "^2.0",
        "unisharp/laravel-ckeditor": "^4.6",
        "maatwebsite/excel": "~2.1.0"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~5.7",
        "symfony/css-selector": "3.1.*",
        "symfony/dom-crawler": "3.1.*"
    },
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/"
        }, 
        "files": [
            "app/Helpers/helpers.php"
        ]  
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ],
        "post-install-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postInstall",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postUpdate",
            "php artisan optimize"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}
问题是我无法升级我的服务器,因为它会破坏其他站点。如何在不升级php版本的情况下解决此问题。

您可以使用设置强制在所有环境中使用PHP5.6包。在
composer.json中设置此选项:

"config": {
    "platform": {
        "php": "5.6.37"
    }
},

在您的开发环境上运行
composer update
,并提交新的
composer.lock
-它应该只包含与PHP 5.6兼容的包,因此您应该能够在服务器上安装它。

一个解决方案是您可以在服务器上使用docker。您是否尝试过使用
--忽略平台需求
来运行composer命令?这将忽略PHP版本要求安装软件包。请参见,根据您使用的Web服务器,可以同时运行两个php版本。@JohnDoe确切的命令是什么?如果php版本是正确的,它不会产生任何问题吗different@D555例如,当您有一个新的安装时,您可以使用
composer安装--ignore platform reqs
。它不会破坏任何东西,因为所有安装都在供应商目录中。