私はlaravelで動作しているウェブサイトで作業しています。このサイトはHomesteadを通して私の地元で問題なく動作します。bootstrap/autoload.php - ストリームを開くことに失敗しました:許可が拒否されました
最近、git repoを以前にこのサイトを実行していなかったサーバーにプッシュしました。私はすべてを正しく設定しました(しばらくの間、いくつかのnginx設定の問題を抱えていましたが、それらをすべてソートしました)。 Nginxにはパブリックフォルダがサイトルートとして設定されているため、ページをロードするときに適切なインデックスページが表示されます。
私が得意なのは500エラーです。私のエラーログには、次のことを明らかにした理由です:
site_root/public/../bootstrap/autoload.php - Failed to open stream: permission denied
in
site_root/public/index.php on line 22
私は、ブートストラップフォルダとautoload.phpファイルが両方のWebユーザによってアクセス可能であり、アクセスを許可する必要があり権限を持っていることを確認することができます。
私はこの問題を解決する人々のオンラインで、「コンポーザーのインストール」を読んだことがあります。私は作曲家の更新、インストールの実行、キャッシュのダンプを試みました。私もベンダーのフォルダ(git repoの一部だった)を削除しようとし、実行中のコンポーザーを再インストールするためにインストールを試みました。これらのどれも働いていません。助けとなる情報を提供することを幸せにしてください。これは、AWSボックス上のnginxを使ってUbuntu Server 14.04で動作するLaravel 5.2です。
permission deniedは、あなたの 'autoload.php'ファイルに' read/write'パーミッションがないことを意味します。個別に読み取り/書き込みの権限を与えてから試してみることをお勧めします。 – Qazi
私はautoload.php 777パーミッションを与えてみました(これは元に戻ってテストしました)。また、所有者(ubuntu)がグループwww-dataの一部であることを確認しました。 -dataが実行されます。 nginxの下で実行される同じボックスの私の他のウェブルートには、ubuntu:Ubuntuが所有するすべてのファイルがあり、問題は発生しませんが、場合によってはwww-dataグループに追加しました。運がまだありません、許可は拒否されました。 – carbide20