在Laravel中禁用优化的类加载器?

时间:2015-11-22 18:38:55

标签: laravel-5.1

我目前正在构建一个Laravel 5.1系统,该系统通过几个步骤(本地,测试和生产)自动部署到多个服务器。 不幸的是,我对优化的类加载器有一个问题。在部署期间,Composer运行并通过composer.json文件,两个命令php artisan clear-compiledphp artisan optimize运行没有任何问题。

我的问题是Laravel在执行页面的某个时间尝试写入/bootstrap/cache/services.json,但由于创建该文件夹的(系统性)用户与尝试访问的用户不同,因此失败写入文件(由于优化器文件已经创建,因此尝试优化也没有意义。)

  • 可以禁用"在运行中"类加载器优化器? (如果是的话,后果是什么?)

在任何"你应该只是将权限更改为......",然后我想指出它目前不是一个可行的解决方案。所有内容都是版本化的,因此服务器上的文件夹的名称类似于server/project/20151122192701/laravel,我不认为我们的技术人员每次致力于生产时都会更改权限:)

1 个答案:

答案 0 :(得分:0)

我最终从php artisan clear-compiled删除了php artisan optimizecomposer.json,以防止命令在提交时运行。我还!services.json/bootstrap/cache/.gitignore(使其可提交)并使用新的可写权限提交services.json(755)。

这是为了防止部署用户删除services.json并使用无写权限重新创建它...

我还有一些其他问题,Laravel也缓存了视图和会话,但这是通过缓存系统临时文件夹中的视图来解决的(我知道这可能不是最好的解决方案,但它可以工作)并使用memcached对于会议。