0

だから、私はこの単純な小さなphpスクリプトを持っています。正常に実行およびコンパイルされ、コーディングしたマシン上で希望どおりに動作します。Debian 6.0.6、32ビットを実行している個人のホームWebサーバーで実行しています。それはphpのapacheです。そして、私はphpがサーバー上で機能しているという事実を知っています。

    <?php
    $hitsfile = "hits.txt";                                                 #name of file
    $filehandle = fopen($hitsfile, 'r') or die ("Couldn't read file.");     #Opens file, 'hitsfile' to be read.
    $hits = fread($filehandle, 5);                                          #reads file to the introduced variable, 'hits'
    fclose($filehandle);                                                    #closes file
    $hits++;                                                                #increments the variable that it read.
    $filehandle = fopen($hitsfile, 'w') or die ("Couldn't write to file."); #opens file to be read. 
    fwrite($filehandle, $hits);                                             #writes the hits variable to file.
    fclose($filehandle);                                                    #closes file.
    echo $hits;                                                             #outputs the hits variable.
    ?>

サーバーからWebブラウザーを介してファイルにアクセスすると、「ファイルに書き込めませんでした」というメッセージが表示されます。エラー。それで、それはファイルを正しく開いて、それを読んでいます。そして、それを開いて書き込むと、失敗します。これはパーミッションか何かの問題だと思います。問題を解決する方法について、私はちょっと途方に暮れています。何か案は?助けていただければ幸いです!数日間グーグルで検索しましたが、問題を解決できません。私はphp'noob'であり、LinuxベースのWebサーバーを実行するのは初めてですが、どういうわけか学ぶ必要があります。:* l

4

1 に答える 1

1

ファイルへのアクセス許可を確認しようとしましたか? Linux ファイル システムには、非常に厳密なアクセス許可システムがあります。端末に書き込む:

ls -la /path/to/my/file.txt

これにより、左側の列にアクセス許可が付与されます。必ずこの記事を読み、Apache にファイルへの「書き込み」権限があるかどうかを確認してください。そうでない場合は、chmodコマンドを使用して Apache にファイルへのアクセスを許可します (または、chownコマンドを使用して、このファイルの所有者が書き込み権限を持っている場合は、このファイルの所有者を apache に変更します)。

于 2013-01-06T01:02:32.243 に答える