2017-08-17 10 views
1

RHEL 7でPHP 5.4、Apache 2を実行していますが、PHP-FPMが必要です。Apache-PHPがフォルダに書き込むのを許可するにはどのような権限が必要ですか?

WWWというグループを作成し、Apacheユーザーを追加しました。 PHPではすべてがうまくいきます。

"reports"というディレクトリにいくつかのファイルを書き込む必要があります。

レポートは、私は、ファイルを書き込むために、次のPHPコードを使用すると、「報告書は」私は権限エラーを取得するには、次の権限

drwxrwsr-x. 2 ec2-user www  6 Aug 17 13:23 reports 

を持って

$handle = fopen('text.xls', 'w+'); 
{ 
    if (!fwrite($handle, $content)) 
    die("cant' write"); 
} 

は私が必要とする適切な権限は何ですか"reports"ディレクトリで使用するには?

+0

フォルダには077(読み書き実行)が必要で、ファイルには644のアクセス許可が必要です。 –

答えて

2

上記のファイルアクセス権に加えて、SELinuxでアクセス権の問題が発生していないことを確認する必要があります。 RHEL 7ではデフォルトで実行されています。

ls -lZ <location>を使用すると、特定のファイルまたはディレクトリの現在のSELinuxコンテキストを確認できます。

デフォルトでは、/var/www/htmlにはhttpd_sys_content_tというコンテキストがあります。これにより、httpdがそのディレクトリに書き込むことができなくなります。 httpdがディレクトリに書き込むことができるようにするには、SELinuxに、httpd_sys_rw_content_tのコンテキストを与えて許可するように指示する必要があります。これは、これらのコマンドで行うことができます。

sudo semanage fcontext -a -t httpd_sys_rw_content_t <location> 
sudo restorecon -v <location> 

あなたの「レポート」ディレクトリの実際の場所と<location>を置き換えてください。

関連する問題