Wir wissen, dass es beim Lesen von MYSQL für die dynamische Anzeige zu vielen Leistungsproblemen kommt. Wenn Sie den virtuellen Host einer anderen Person mieten, wird die CPU aufgrund des übermäßigen CPU-Verbrauchs eingeschränkt, was zu einer Beeinträchtigung der Webseite führt unzugänglich werden. Hier stelle ich Ihnen eine Methode zur dynamischen Generierung von HTML in PHP vor, die die CPU-Last des Servers erheblich reduzieren kann.
Richten Sie zunächst die .htaccess-Datei ein, um dynamisch aufgerufene Parameter in statische HTML-URL-Adressen umzuwandeln. Leiten Sie beispielsweise die Dateien im Post-Verzeichnis an die Datei wp-post.php im Stammverzeichnis weiter und fügen Sie die Anweisung hinzu ist ähnlich:
RewriteRule ^post/([a-z0-9-]+.html)$ wp-post.php?$1$2
Ändern Sie dann die Datei wp-post.php , Fügen Sie den folgenden PHP-Code am Anfang der Datei hinzu:
ob_start(); $qstring = isset($_SERVER[%26quot;QUERY_STRING%26quot;]) ? $_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)); exit(0); } }
, gefolgt vom vorhandenen PHP-Code, und fügen Sie dann den folgenden PHP-Code am Ende des aktuellen Codes hinzu:
define(%26quot;HTMLMETA%26quot;,%26quot;%26lt;!-- this is a real static html file created at %26quot;.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); fclose($fp); }
Okay, dann überprüfen Sie Ihre statische HTML-Seite. Wenn am Ende der Seite eine Kommentarzeile erscheint, bedeutet dies, dass die statische HTML-Datei erfolgreich erstellt wurde.
Eine Anwendung dieser Methode ist das WordPress Annual Blog Statistics Plug-in, das ich zuvor geschrieben habe. Dieses Statistik-Plug-in fragt die Datenbank mehr als zehnmal ab, sodass es zu großen Leistungsproblemen kommt, wenn viele Leute darauf zugreifen . Nachdem ich die von mir eingeführte dynamische HTML-Generierungstechnologie verwendet habe, können Sie einmal täglich eine Abfrage durchführen und statistische Rankings generieren, wodurch das Leistungsproblem der Datenbankabfrage perfekt gelöst wird.
Für allgemeineren PHP-Code im Zusammenhang mit der dynamischen Generierung statischer HTML-Webseiten achten Sie bitte auf die chinesische PHP-Website!