0

我知道 Laravel 开发人员在他们的 .gitignore 文件中忽略了它,但他们也忽略了我认为格式不好的 composer.lock 文件。我的问题是提交并将compiled.php 推送到生产环境是否安全?

4

1 回答 1

4

这取决于您的部署过程以及您在compiled.php文件中包含的内容。如果您composer.lock在版本管理器中添加,仅composer install在您部署时运行并且不添加任何内容 config/compile.php,是的,它非常安全。

但是有什么收获呢?您只需将其放入composer.json

"scripts": {
    "post-install-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "post-update-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ]
},

并且该compiled.php文件将在每个部署中生成。像这样,如果项目中的任何人决定在composer update某个地方运行,您将避免任何类型的问题。

作为包管理器,composer 帮助您管理依赖项。如果您提交您的已编译的.php 文件,您将完全绕过 composer 并compiled.php用作一个非常质朴的包管理器......

于 2014-11-19T17:12:41.220 回答