我知道Laravel开发人员在他们的.gitignore 文件中忽略了它,但他们也忽略了我认为格式不好的composer.lock文件。我的问题是提交并将编译.php推送到生产环境是否安全?
这取决于您的部署过程以及您在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
,您将避免任何类型的问题。
作为包管理器,作曲家可以帮助您管理依赖项。如果你提交编译.php文件,你完全绕过作曲家,compiled.php
作为一个非常质朴的包管理器......