1

システムにfedora15をインストールし、apacheとphp5.3とmysqlをインストールしました。構成ファイルのデフォルト設定を変更していません

1つのftpuserを作成し、'/ var / www / html /'であるDocumentrootにファイルをアップロードしました。phpファイルを実行すると、すべてのファイルが正常に実行されます。

しかし、ファイルのアップロード、fopen、fwrite、imagemagick convertなどに関しては、プログラムでファイルを作成することを含むすべてのプログラムが機能するわけではありません。phpスクリプトを実行するフォルダーに777のアクセス許可を付与しましたが、それでもアクセス拒否エラーが発生します。

以下は、パーミッション拒否エラーを作成するサンプルコードです。

    $handle =   fopen("test.txt","w+");
    if(!$handle)die("Could not open file for writing");
    fwrite($handle,"Testing Uploads Successfull.");
    fclose($handle);

上記のファイルは、新しくインストールしたfedora15システムの「/ var / www / html /test/」ディレクトリにあります。

ただし、phpコマンドラインを使用してrootユーザーとしてこのファイルを実行すると、正しく実行され、新しいファイルとその中のテキストが作成されます。コマンドラインで別のユーザーと同じファイルを実行すると、ディレクトリに777のアクセス許可がありますが、アクセス許可が拒否されたというエラーが発生します。

誰かがこの奇妙な振る舞いで私を助けてください、

前もって感謝します。

4

1 に答える 1

1

SELinux が原因で、Web サーバーによるファイルの作成と書き込みが妨げられています。詳細については、httpd_selinux(8)man ページを参照してください。

于 2012-09-24T12:27:38.523 に答える