PHP が動的表示のために MYSQL を読み込む場合、アクセス数が多い場合に多くのパフォーマンスの問題が発生することがわかっています。他人の仮想ホストを借りると、過剰な CPU 消費により CPU が制限され、Web ページにアクセスできなくなります。ここでは、サーバーの CPU 負荷を大幅に軽減できる、PHP で HTML を動的に生成する方法を紹介します。
まず、動的に呼び出されるパラメータを静的 HTML URL アドレスに変換するための .htaccess ファイルを設定します。たとえば、post ディレクトリ内のファイルをルート ディレクトリの wp-post.php ファイルに転送します。
のようなステートメントを追加します。 RewriteRule ^post/([a-z0-9-]+.html)$ wp-post.php?$1$2
次に、wp-post.php ファイルを変更し、ファイルの先頭に次の PHP コードを追加します。
コードをコピーします コードは次のとおりです:
ob_start();
$qstring = isset($_SERVER[%26quot;QUERY_STRING%26quot;]) ? ;] : %26quot;% 26quot;;
define(%26quot;HTML_FILE%26quot;, $_SERVER['DOCUMENT_ROOT'].%26quot;/post/%26quot;.$qstring)
if (file_exists(HTML_FILE); ))
{
$lcft = filemtime(HTML_FILE);
if (($lcft + 3600) %26gt; time()) // 最後に生成された HTML ファイルが 1 時間以上前であるかどうかを判断します。そうでない場合は、直接出力します。ファイルの内容
{
echo(file_get_contents(HTML_FILE ;
define(%26quot;HTMLMETA%26quot;,%26quot;%26lt;!-- これは %26quot; に作成された実際の静的 HTML ファイルです。.date(% 26quot;Y-m-d H:i:s%26quot;) .%26quot; --%26gt;%26quot;);
$buffer = ob_get_flush();
$fp = fopen(HTML_FILE, %26quot;w%26quot;) ;
if ($fp)
{
fwrite( $fp, $buffer.HTMLMETA); } それでは、最後にコメント行が表示されているかどうかを確認してください。ページの「」は、静的 HTML ファイルが正常に作成されたことを意味します。
この方法の応用例の 1 つが、以前に作成した WordPress 年次ブログ統計プラグインです。この統計プラグインはデータベースに 10 回以上クエリを実行するため、多くの人がアクセスするとパフォーマンスに大きな問題が発生します。この動的 HTML 生成テクノロジを使用すると、1 日に 1 回クエリを実行して統計ランキングを生成できるため、データベースのクエリに関するパフォーマンスの問題が完全に解決されます。
http://www.bkjia.com/PHPjc/321388.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/321388.html
技術記事
PHP が動的表示のために MYSQL を読み取る場合、トラフィックが大きい場合に多くのパフォーマンスの問題が発生することがわかっています。他人の仮想ホストを借りると、過剰な CPU 消費により CPU が制限され、次のような問題が発生します。