2016-04-14 15 views
0

私は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です。

+0

permission deniedは、あなたの 'autoload.php'ファイルに' read/write'パーミッションがないことを意味します。個別に読み取り/書き込みの権限を与えてから試してみることをお勧めします。 – Qazi

+0

私はautoload.php 777パーミッションを与えてみました(これは元に戻ってテストしました)。また、所有者(ubuntu)がグループwww-dataの一部であることを確認しました。 -dataが実行されます。 nginxの下で実行される同じボックスの私の他のウェブルートには、ubuntu:Ubuntuが所有するすべてのファイルがあり、問題は発生しませんが、場合によってはwww-dataグループに追加しました。運がまだありません、許可は拒否されました。 – carbide20

答えて

0

解決しました。これは実際にサイト全体のアクセス許可に関する問題でした。 775ではなく770に設定されていました。今のところ、私はそれを再びロードすることができてうれしいです。

ストーリーのモラルは、サイト全体のアクセス許可をチェックすることです。致命的なエラーを引き起こすファイルだけでなく、必ずしもそうではありません。上記のファイルで権限が広く開いているにもかかわらず、同じ致命的なエラーが発生する可能性があります。その場合は、他の場所で権限の問題を探します。

関連する問題