PHP で fopen() 関数が機能しない (Apache、Linux Mint)
P粉722409996
P粉722409996 2023-08-13 14:14:43
0
1
513
<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粉722409996
P粉722409996

全員に返信(1)
P粉107772015

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

リーリー

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!