2017-08-05 14 views
0

Fedoraを実行しているWebサーバー上にApacheがあります。私はテキストファイルに書き込もうとしています。Fedora PHP「ストリームを開くことに失敗しました:許可が拒否されました」

if(!empty($_POST['versionWrite'])){ 
$file = fopen(APP_DIR."/resources/version.txt", "w"); 
fwrite($file, $_POST['versionWrite'].PHP_EOL); 
fclose($file); 
} 

そして、私は、コードを実行すると、私はこれを取得:

Warning: fopen(/var/www/spumprnagle/resources/version.txt): failed to open stream: Permission denied in /var/www/spumprnagle/head.php on line 28 

Warning: fwrite() expects parameter 1 to be resource, boolean given in /var/www/spumprnagle/head.php on line 29 

Warning: fclose() expects parameter 1 to be resource, boolean given in /var/www/spumprnagle/head.php on line 30 

これは、ファイルを扱うすべてのスクリプトで発生します。そして、私はApacheのファイル編集権限を与えるために何をすればいいのか分かりません。

お時間をありがとうございました。

答えて

0

問題:apacheユーザーにファイルを書き込む権限がありません。

ソリューション

chown -R apache:apache path/to/directory 

apacheのはFedoraとパス/に/ディレクトリのデフォルトのユーザーは、あなたが書きたいのファイルを含むディレクトリのパスです。

あなたは、単一のファイルへのアクセス権を与えたい場合は、だから、-R

+0

OK、これは...うまくいきましたが、おそらくApacheへのファイル所有権をtrnsferingすることで、FTPサーバーからのアクセス許可を削除しました...これを修正する方法はありますか? –

0

まず、ファイル/var/www/spumprnagle/resources/version.txtのアクセス許可を確認して、Webユーザーが書き込み可能であることを確認します。ここでfedoraとタグ付けしたので、通常はapacheというユーザーだと思いますので、chown apache:apache /var/www/spumprnagle/resources/version.txtとお試しください。

権限設定が不明な場合は、いつでも一時的に777を設定することができます。 chmod 777 /var/www/spumprnagle/resources/version.txt。これで問題が解決した場合は、より合理的なものに権限を調整することができます(644)。

+0

を省略し、そしてそれはレベルを何644と777で動作しますが、いないことを、私は疲れて(それがどんなレベルであれば)平均?私は何とかファイルにアクセスするために必要なアクセス許可のレベルを調整しているが、実際にはこれを理解していない。 777で貸し出しに問題はありますか?私はLinuxで動作しないので、これらの質問がどうにかして無意味であり、明らかに答えたら残念です...プロジェクトフォルダ全体に対してこれを設定することができますか、手動でファイルごとに設定することはできますか? ありがとうございます。 –

関連する問題