I'm trying to install an older Laravel Project.

当我跑的时候 composer install I get the following error

This package requires php >=5.6.4 but your PHP version (5.5.35) does not satisfy that requirement.

当我跑的时候

php -v

I get the following result

PHP 7.1.10 (cli) (built: Oct 12 2017 14:00:12) ( ZTS )

这是我的Composer.json的内容

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.6.4",
        "doctrine/dbal": "^2.6",
        "guzzlehttp/guzzle": "^6.3",
        "intervention/image": "^2.4",
        "intervention/imagecache": "^2.3",
        "laravel/framework": "5.4.*",
        "laravel/tinker": "~1.0",
        "laravelcollective/html": "^5.4",
        "maatwebsite/excel": "^2.1",
        "sentry/sentry-laravel": "^0.8.0",
        "spatie/laravel-glide": "^3.2",
        "spatie/laravel-permission": "^2.6",
        "spatie/laravel-pjax": "^1.3"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~5.7"
    },
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "post-root-package-install": [
            "php -r \"file_exists('.env') || 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",
        "sort-packages": true,
        "optimize-autoloader": true
    }
}

这个项目怎么可能认为我运行了PHP5.6?

非常感谢.

推荐答案

我也有这个问题.如果不想更新所有的composer软件包,可以通过手动更改composer.lock文件并在JSON对象中用platform > php编写实际的PHP版本来解决这个问题.

Example

...
"platform": {
    "php": "7.1"
}
...

Although it works, the most recommended way to do this would be deleting your composer.lock file, changing the platform > php version in composer.json and then executing composer install.

Laravel相关问答推荐

Laravel-如何按第三表关系对数据进行分类

拉威尔望远镜没有显示请求细节

Laravel/Eloquent:致命错误:在非对象上调用成员函数 connection()

自定义 Laravel 关系?

如何使用 Laravel Passport 在 API 中正确实现 OAuth?

为什么 Laravel 5 会自动更新我的日期字段?

PHP Laravel:如何设置或获取会话数据?

如果用户在 Laravel 中经过身份验证,如何签入 Vue 组件?

PHP 5.5,什么情况下PHP会导致很高的committed memory

未定义的类常量App\Providers\RouteServiceProvider::HOME

如何使用命令行手动运行 laravel/lumen 作业(job)

Laravel Eloquent ORM 复制

Laravel - 语法错误,文件意外结束

Laravel League/flysystem 使用 AWS S3 获取文件 URL

Laravel 邮件密件抄送

在 Laravel 5.4 中将文件存储在公共目录和存储中的区别

在 laravel 中安装 vue 3.0

今天之前的 Laravel 规则......怎么办

找不到 HOME 环境 -- 扩展 `~'

错误:找不到模块 'webpack/lib/rules/DescriptionDataMatcherRulePlugin' 需要堆栈: