在composer update之后的回溯步骤引入了日志错误

时间:2016-01-26 12:35:49

标签: laravel composer-php

我正在进行我的第一个laravel项目,使用laravel 5.1.28,宅基地和postgres。

最近我在一段时间内第一次更新了composer.json(并且在一段时间内第一次更新了composer),现在沙盒中的一切看起来都不错,但我的构建在heroku中失败,出现以下错误:

生成优化的自动加载文件

  

php artisan clear-compiled      PHP致命错误:未捕获ReflectionException:类日志不存在于/tmp/build_4b890192877bdbf1f605fbefdc7b2f34/dianekaplan-Family-laravel-e49374e/vendor/laravel/framework/src/Illuminate/Container/Container.php:741

我已经阅读了大约5个线程来解决这个错误,并尝试了各种解决方案来解决其他人导致此错误的不同问题,但它们似乎都不是我的。

这是一个不同的问题:我如何从作曲家的角度回到过去? composer.lock是否与git一起骑行,所以我理论上可以回到那一点,能够再次成功构建,然后有一天当我有一个伙伴和时间来完成余波时,再次进行作曲家更新? (我是一个新手,所以这样的问题很严重)

什么方法可以让我回到原来的状态?

根据我尝试的评论中的反馈:   - 在构建仍然成功的时候替换我的composer.lock与版本(谢谢你,git!),然后进行作曲家安装(而不是更新,所以它会尊重那些旧的版本号) - 但之后构建仍然失败了同样的错误   - 作曲家转储,作曲家更新 - 无脚本和作曲家更新(按此顺序),但之后构建仍然失败,上面的错误相同

:(:(:(

这就是我的composer.json中的内容:

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",

    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.1.*",

        "doctrine/dbal": "^2.5",
        "illuminate/html": "^5.0",
        "laracasts/flash": "^1.3",
        "cloudinary/cloudinary_php": "dev-master",
        "jrm2k6/cloudder": "0.2.*",
        "Illuminate/Support": "^5.1"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~4.0",
        "phpspec/phpspec": "~2.1",
        "laracasts/generators": "^1.1"
    },

    "autoload": {
        "classmap": [
            "database",
            "app/mailers"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "pre-update-cmd": [
            "php artisan clear-compiled"
        ],
        "post-update-cmd": [
            "php artisan optimize"
        ],
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }


}

1 个答案:

答案 0 :(得分:0)

我已经使用您的composer.json在5.1应用上尝试了composer update,并没有遇到任何问题 - 所以错误可能来自您应用中的某个地方的代码 - 看起来很可能是你的使用Log外观来记录某些内容,例如。 Log::error('message'),但您已将其写为log::error('message')。找到后,您在更新时可能仍会遇到相同的错误,在这种情况下,在运行composer update之前暂时从composer.json中删除以下内容:

"pre-update-cmd": [
    "php artisan clear-compiled"
],

另外,在您的依赖项中还有其他一些问题:

  • illuminate/html已弃用/弃用,请改为使用laravelcollective/html替换。
  • illuminate/supportlaravel/framework的一部分,因此不需要,可以删除。