-1

1ページのWebサイトを作成するための非常に基本的なcmsを作成しています。php は、一般ユーザーからはアクセスできません。むしろ、html サイトを生成するためだけに存在します。ただし、可能であれば、一般ユーザー向けのコードを使用する場合があります。

特定の理由でデータベースを使用するといくつかの問題が発生するため、fopen の使用を検討しています。fopen は mysqli と比べてどうですか? どの段階で fopen を使用することがより負担になるのかを知りたいだけです。

ありがとう

4

2 に答える 2

7

fopen何に使う?また、MySQL にはどのような問題がありますか?

とにかく、この 2 つは比類のないものです。

fopenディスク上のファイルを開くmysqli関数であり、MySQL データベースを操作するための一連の関数です。

fopen同時リクエストでの使用は安全ではありません。同じスクリプトが同時に 2 回実行されると (たとえば、2 人のユーザーが互いに数ミリ秒以内に同じ GET リクエストを行う)、スクリプトの 1 つがファイルに書き込むと破損が発生します。ロックファイルを使用する必要があり、パフォーマンスが低下します。

MySQL (バージョン 5 以降) を使用すると、ACID 準拠のデータ ストレージ ソリューションが得られます。

あなたが言うように「1ページのWebサイト」である場合は、を使用しても問題が解決する可能性がありfopenます。適切なロックファイルを使用してください(優れたセキュリティと同様に!)。

于 2013-03-15T03:25:11.053 に答える
0

WordPress、Drupal、JoomlaなどのCMSを調べることは、ファイルシステムにある場合と比較して、より良いオプションですが、これらのCMSは、静的ページを提供するだけではありません。ファイルに保存したいデータの種類はわかりませんが、少なくとも2つの大きな問題が発生する必要がintegrityありlockingます。そしてなおit's very hard for me to imagine how that might not create an unpleasant experience for a user especially with concurrency and locking ?

私は「reasons using databases would cause a few problems」を知りません。Mysqliは、Mysqlのオブジェクト指向ドライバーであり、php用のmysqlドライバーでは不可能なことも可能にします。

しかし、はい、データベースを持つことは特定のセキュリティ上の責任を課しますが、優れたプログラミング慣行と受け入れられたパラダイムに従うことによって、除外することはそれほど難しい問題ではありません。そしてIMOこれは、DBに対する制御から生じる一種の問題です。非常に多くの経験の浅い開発者がこれを公表しています。

Web開発からのキャリアを検討している場合は、MVCフレームワークを検討することもお勧めします。これらのフレームワークには、ほとんどのボイラープレートコードが含まれており、一部のフレームワークでは、アプリケーションをスケーラブルで堅牢かつ安全にするための優れた方法に従う必要があります。

しかし、私にとっては、フラットファイルシステム上にそれを置くことは、ノー、ノー、ノーです...;)

于 2013-03-15T04:05:25.437 に答える