私はそれが非常に古い質問であることを知っていますが、私はいくつかの詳細な説明とともに良い解決策を追加したいと思いました。システムのようなUbuntuで2つのステートメントを実行する必要があります。
Linuxの権限は3桁で表すことができます。最初の数字は、ファイルの所有者の許可を定義します。2桁目は、特定のユーザーグループの権限です。3桁目は、グループの所有者でもメンバーでもないすべてのユーザーの権限を定義します。
Webサーバーは、グループのメンバーであるIDで実行されることになっています。ウェブサーバーは、ファイルとディレクトリの所有者と同じIDで実行しないでください。Ubuntuでは、www-dataというIDでApacheを実行します。そのIDは、権限が指定されているグループのメンバーである必要があります。
ファイルの内容を変更するディレクトリに適切な権限を与えるには、次のステートメントを実行します。
find %DIR% -type d -exec chmod 770 {} \;
これは、OPの質問で、ディレクトリ%ROOT%/ databaseの権限を適宜変更する必要があることを意味します。そのため、変更したり削除したりしてはならないファイルをそのディレクトリ内に置かないことが重要です。そのため、コンテンツを変更する必要のあるファイル用に別のディレクトリを作成することをお勧めします。
ディレクトリの読み取り権限(4)は、ディレクトリ内のメタデータとともにすべてのファイルとディレクトリを収集できることを意味します。書き込み許可(2)は、ディレクトリーの内容を変更する許可を与えます。ファイルの追加と削除、権限の変更などを意味します。実行権限(1)は、そのディレクトリに移動する権限があることを意味します。後者がないと、ディレクトリをさらに深く調べることはできません。ファイルの内容を変更する必要がある場合、ウェブサーバーには読み取り、書き込み、実行の権限が必要です。そのため、グループには数字7が必要です。
2番目のステートメントはOPの問題です。
find %DOCUMENT_ROOT%/database -type f -exec chmod 760 {} \;
文書を読み書きできることが必要ですが、ファイルを実行する必要はありません。7はファイルの所有者に与えられ、6はグループに与えられます。Webサーバーは、ファイルの内容を変更するためにファイルを実行する権限を持っている必要はありません。これらの書き込み権限は、そのディレクトリ内のファイルにのみ付与する必要があります。
他のすべてのユーザーには権限を与えないでください。
ファイルを変更する必要のないディレクトリの場合は、グループ権限5で十分です。権限に関するドキュメントといくつかの例:
https://wiki.debian.org/Permissions
https://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions
http://www.linux.org/threads/file-permissions-chmod.4094/
php.ini
ファイルへのアクセスを拒否する可能性のあるものがないか、ファイルを調べましたか?