3

私はfedoraでapacheを使用してPHPサイトを起動しようとしていますが、権限の書き込みに問題があります。apacheには一部のフォルダへの書き込み権限がないようですが、その理由がわかりません。

httpd.confを確認しましたが、グループ:apache、user:apacheがあります。次に、chown -R apache:apache wwwを作成し、フォルダーに777のアクセス許可を設定しましたが、それでも次のように表示されます。

警告:file_put_contents(/var/www/public/temp.txt)[function.file-put-contents]:ストリームを開くことができませんでした:8行目の/var/www/public/newtest.phpでアクセスが拒否されました

ご意見をお聞かせください。

更新:ところで、コマンドラインから「php newtest.php」を作成すると、ファイルtemp.txtはグループrootとユーザーrootで作成されます。ブラウザからは動作しません。

4

4 に答える 4

4

警告:file_put_contents(/var/www/public/temp.txt)[function.file-put-contents]:ストリームを開くことができませんでした:8行目の/var/www/public/newtest.phpでアクセスが拒否されました

ここには悪いものがたくさんあります。

httpd書き込み可能ファイルをコードから十分に遠ざけたいという事実から始めましょう-確かに別のディレクトリに、できればドキュメントルート全体の外に。

chown -R apache:apache wwwで、フォルダーに777のアクセス許可を設定します

その後、実際の権限が何であるかを確認しましたか?ところで、上記のポイントも参照してください。Webサイト全体をすべての人が書き込み可能にした場合は、問題が発生しているだけです。所有者と権限の両方を変更することはできません。

SELinuxを有効にしましたか?(ルートとしてsestatusを実行します)。もしそうなら、それを無効にするか、それを設定する方法を学ぶ必要があります-しかし、最初に昔ながらの権限を理解してから、SELinuxを無効にすることをお勧めします。

C。

于 2010-02-14T23:37:08.037 に答える
0

apacheをmpmとしてmod_itkに切り替え、所有者のドキュメントルートディレクトリと含まれているphpスクリプトの権限で特定のvhostを実行することをお勧めします。

于 2010-02-14T22:09:54.000 に答える
0

chmod 775をnewtest.phpにします;)

于 2010-02-14T19:20:20.470 に答える
0

ls -la / var / www / public

確認するだけです:-)

于 2010-02-14T20:31:45.510 に答える