Php laravel 5维护页面在composer更新期间中断

Php laravel 5维护页面在composer更新期间中断,php,composer-php,laravel-5,Php,Composer Php,Laravel 5,当我用php artisan down和composer update更新我的laravel 5应用程序时,不会显示维护页面,但会出现一个错误。(哎呀,出了点问题……) 日志中有以下错误: production.ERROR: exception 'ErrorException' with message 'file_put_contents(/var/www/app/vendor/services.json): failed to open stream: Permission denied'

当我用php artisan down和composer update更新我的laravel 5应用程序时,不会显示维护页面,但会出现一个错误。(哎呀,出了点问题……)

日志中有以下错误:

production.ERROR: exception 'ErrorException' with message 'file_put_contents(/var/www/app/vendor/services.json): 
failed to open stream: Permission denied' in /var/www/app/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:74
更新后,维护页面再次工作。当我查看
供应商
目录时,我看到:

drwxr-xr-x  3 hannes http    4096  4. Feb 17:40 psr
drwxr-xr-x  3 hannes http    4096 17. Mär 18:20 psy
drwxr-xr-x  9 hannes hannes  4096 22. Mär 10:42 sebastian
-rw-r--r--  1 hannes hannes 10297 22. Mär 10:44 services.json
drwxr-xr-x  3 hannes http    4096 14. Mär 17:32 swiftmailer
drwxr-xr-x 15 hannes http    4096 22. Mär 10:42 symfony
services.json
没有
http
作为

以下是my composer.json的
脚本部分:

    "scripts": {
    "post-install-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "pre-update-cmd": [
        "php artisan clear-compiled"
    ],
    "post-update-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "post-create-project-cmd": [
        "php -r \"copy('.env.example', '.env');\"",
        "php artisan key:generate"
    ]
    }

如何确保我的维护页面在composer更新期间始终工作?我不明白那里发生了什么。

您在生产中进行更新时没有事先测试?首先在本地(arch),然后在vserver(ubuntu)上。我想这不好。。但是不知道如何更好地测试一开始:本地更新,然后提交更改的
composer。将
锁定到您的存储库,将存储库移动到生产环境,然后只运行
composer install
,以准确安装您在本地测试的版本。尽管如此,预计会出现停机,因为使用composer更新/安装会在安装新部件和可访问的自动加载器之前删除维护页面所需的部件。