【问题标题】:Google App Engine: Issues with Running Laravel 5.6 ProjectGoogle App Engine:运行 Laravel 5.6 项目的问题
【发布时间】:2018-07-28 22:25:17
【问题描述】:

我正在尝试在 Google App Engine 上运行一个克隆的 Laravel 项目,但无论我尝试走哪条路,我总是发现自己卡在了一个点上:

laravel/framework v5.6.9 requires php ^7.1.3 -> your PHP version (7.0.30) does not satisfy that requirement.

这是我尝试过的:

删除 composer.lock 文件,然后运行 ​​composer updatecomposer install,但我得到了同样的错误:(

供参考,这是我的composer.json 文件:

    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": "^7.1.3",
        "fideloper/proxy": "~3.3",
        "laravel/framework": "5.6.*",
        "laravel/tinker": "~1.0",
        "ext-ds": "*"
    },
    "require-dev": {
        "filp/whoops": "~2.0",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "~1.0",
        "phpunit/phpunit": "~6.0",
        "symfony/thanks": "^1.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ],
        "post-deploy-cmd": [
            "chmod -R 755 bootstrap\/cache",
           "php artisan cache:clear"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    } 

编辑: 添加我的 app.yaml 文件可能会有所帮助:

runtime: php
env: flex

runtime_config:
  document_root: public

# Ensure we skip ".env", which is only for local development
skip_files:
  - .env
env_variables:
  # Put production environment variables here.
  APP_LOG: errorlog
  APP_KEY: 
  STORAGE_DIR: /tmp 

【问题讨论】:

    标签: php laravel google-app-engine google-cloud-platform laravel-5.6


    【解决方案1】:

    正如错误所说,您的 PHP 版本与 Laravel 不兼容。

    根据您的 yaml 文件,您处于 flex 环境中,因此 GAE 应该会根据您的 composer 文件自动检测您所需的版本。但是,GAE 要求您在没有发布版本的情况下明确说明您需要的版本(请参阅此处https://cloud.google.com/appengine/docs/flexible/php/runtime)。

    所以在你的作曲家文件中改变这个

    "php": "^7.1.3",
    

    到这里

    "php": "7.2.*",
    

    或者这个

    "php": "7.1.*",
    

    取决于你想使用哪个版本的 PHP,然后删除你的 composer.lock 文件并运行composer update

    【讨论】:

    • 还是同样的问题:(
    • 或者更具体地说,“这个包需要php 7.2.*但是你的PHP版本(7.0.30)不满足那个要求”,是具体的输出
    猜你喜欢
    • 2019-07-18
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    相关资源
    最近更新 更多