fopen() が Linux Mint 上の Apache2 ローカル サーバーで動作しません
ファイルtest.txt が作成され、Sublime を使用して開いて書き込むことができます。この特定のプロジェクトのディレクトリは
/var/www/site02
です。インストール後に apache2 を構成するときに、ファイルの読み取りと書き込みができるように、この特定のディレクトリ (site02) の所有権を特に変更しました (sudo chown $USER:$USER -R ... わかりますよね)。実際、このディレクトリでは自分のユーザー アカウントを使用して読み書きできます (このディレクトリでは、「sudo」なしで cli git コマンドを自由に使用できます)。上記のコードを使用して
index.php
にアクセスすると、次のエラーが発生します。 <ブロック引用>「警告: fopen(test.txt): ストリームを開けません: /var/www/site02/index.php、行 6 で許可が拒否されました」
何が起こったのですか?この問題についてグーグルで調べてみましたが、何千もの異なる理由が見つかり、さらに混乱するばかりでした。 Apacheサーバーに問題があるのでしょうか?それとも、PHP の設定を変更する必要がありますか?
そこで、この質問を投稿した後、ファイルマネージャー (Thunar) で /var/www/site02 を開いて、グラフィカルインターフェイスで権限を確認することにしました。はい、このディレクトリの所有者は私であり、読み書きできます。グループはmyusernameで、権限も読み取りと書き込みが可能です。ただし、「その他」の場合、権限は読み取りという 1 つだけです。読み書きできるように変更しました。そして、いくつかのコードでテストしてください:
リーリーそしてそれはうまくいきました!