web-dev-qa-db-ja.com

「storage / logs / laravel-2019-11-22.log」を開けませんでした:ストリームを開けませんでした:権限が拒否されました

本番サーバーにサイトを入力すると、次のエラーが発生しました。

ストリームまたはファイル「/var/app/current/storage/logs/laravel-2019-11-22.log」を開けませんでした:ストリームを開けませんでした:権限が拒否されました

次のコマンドを実行してみましたが、ターミナルでPermisionsが拒否されました。

php artisan cache:clear
php artisan config:clear
php artisan config:cache
php artisan optimize:clear

chmod -R 775 storage/logs/composer dump-autoloadを実行しましたが、エラーなくサイトのホームページにアクセスできました。サイトをもう少しサーフィンした後、他の領域ではなく、さまざまな領域で同じエラーが発生しました。

再び同じエラー

ストリームまたはファイル「/var/app/current/storage/logs/laravel-2019-11-22.log」を開けませんでした:ストリームを開けませんでした:権限が拒否されました

次のファイルを削除してphp artisan cahce:clearを実行しました:

/bootstrap/cache/packages.php
/bootstrap/cache/services.php
/bootstrap/cache/config.php.php

私が見た他の唯一のアドバイスは実行されます:

Sudo chmod -R 777 storage/*

これは本番サーバーでは悪い考えのように見えますが、正反対の答えのようです。ストレージディレクターに777のアクセス許可のみを付与する必要がありますか。その理由は何ですか。これを修正する別の方法はありますか?

編集:

私はここに述べられているようにこれをやろうとしています:

// set current user as owner and the webserver user as the group
Sudo chown -R $USER:www-data storage
Sudo chown -R $USER:www-data bootstrap/cache
// set directory permission to be 775
chmod -R 775 storage
chmod -R 775 bootstrap/cache

しかし、Sudo chown -R $USER:www-data storageを実行すると、次のエラーが発生します。

chown:無効なグループ: ‘myusername:www-data’

3

この「Sudo chmod -R 777 storage」を実行しても同じエラーが発生する場合は、starage/logに移動して、すべての.logファイルを手動で削除できます。

同じ問題が発生したので、この方法を試しました。うまくいきました。しかし、その恒久的な解決策ではありません。この方法で問題が解決した場合は、cronジョブを使用してすべてのログを自動的に削除できます。

0
iAmGroot