検索

ホームページ  >  に質問  >  本文

PHP で fopen() 関数が機能しない (Apache、Linux Mint)

<p>fopen() が Linux Mint 上の Apache2 ローカル サーバーで動作しません</p> <pre class="brush:php;toolbar:false;"><?php エラー報告(E_ALL); ini_set('表示エラー',1); include_once "c&f.php"; fopen("test.txt", 'w');</pre> ファイル <p>test.txt</code> が作成され、Sublime を使用して開いて書き込むことができます。この特定のプロジェクトのディレクトリは <code>/var/www/site02</code> です。インストール後に apache2 を構成するときに、ファイルの読み取りと書き込みができるように、この特定のディレクトリ (site02) の所有権を特に変更しました (sudo chown $USER:$USER -R ... わかりますよね)。実際、このディレクトリでは自分のユーザー アカウントを使用して読み書きできます (このディレクトリでは、「sudo」なしで cli git コマンドを自由に使用できます)。 </p> <p>上記のコードを使用して <code>index.php</code> にアクセスすると、次のエラーが発生します。 <ブロック引用> <p>「警告: fopen(test.txt): ストリームを開けません: /var/www/site02/index.php、行 6 で許可が拒否されました」</p> </blockquote> <p>何が起こったのですか?この問題についてグーグルで調べてみましたが、何千もの異なる理由が見つかり、さらに混乱するばかりでした。 Apacheサーバーに問題があるのでしょうか?それとも、PHP の設定を変更する必要がありますか? </p>
P粉722409996P粉722409996516日前559

全員に返信(1)返信します

  • P粉107772015

    P粉1077720152023-08-14 11:21:06

    そこで、この質問を投稿した後、ファイルマネージャー (Thunar) で /var/www/site02 を開いて、グラフィカルインターフェイスで権限を確認することにしました。はい、このディレクトリの所有者は私であり、読み書きできます。グループは myusername で、権限も読み取りと書き込みが可能です。ただし、「その他」の場合、権限は読み取りという 1 つだけです。読み書きできるように変更しました。そして、いくつかのコードでテストしてください:

    リーリー

    そしてそれはうまくいきました!

    返事
    0
  • キャンセル返事