Ubuntu 10.04、Apache2、PHP 5.3.2がインストールされた開発デスクトップがあります。Webアプリケーションのルートフォルダに0777の権限を与えており、Apache2も現在のユーザー名で実行されています。しかし時々次のファイルでエラーが発生しています。
file_put_contents(/var/www/kohana_project/application/cache/kohana_find_file_paths): ストリームを開けませんでした: アクセス権が拒否されました。
上記のすべてのリクエストに対してファイルを更新して実行する必要がありますが、まれにエラーが発生します。この問題を解決する方法をご存知の方はいらっしゃいますか?
また、現在ログインしているユーザーと www-data には、kohana_project ディレクトリとその内容に対する完全な権限があります。
答え1
考えられる理由は、所有者ファイルの権限。 :)
まず所有者名を取得する必要がありますアパッチサーバーが実行中の場合は、同じ所有者をあなたに割り当てます/var/www/<file/folder>
。
次の手順を実行します:
所有者を見つけるhttpdこのコマンドを実行すると、所有者を取得できます。httpd:
sudo ps aux | grep httpd
最初の列は所有者の発言になります誰か次のような数字が出たら1001または他の数字の代わりに誰か次に、このコマンドを実行して所有者名を取得します。
grep 1001 /etc/passwd
ここでも、最初のフィールドはプロセスの所有者になります。
次に、以下のファイル/フォルダの所有者を変更します。wwwに誰か
sudo chown -R somebody /var/www/<path to the file/folder>
サーバーを再起動します
sudo /etc/init.d/apache2 restart
以上です。お役に立てれば幸いです。:)