การแก้ไข ของผู้เข้าชม NewStatPress รวม ( Modified WordPress ปลั๊กอิน )

本サイトではWordPressのプラグイン「NewStatPress」を使用しサイトのアクセス解析を行うと同時にサイドバーのウィジェットに閲覧ページ数や訪問者数を表示しています

อย่างไรก็ตาม、このNewStatPressのプログラムを解析したところDBに蓄積したデータが増えるに従いウィジェットの表示が遅くなる事が分かりました
เด่นชัด、サイトのパフォーマンスを維持するためにはNewStatPressが使用するデータベースに溜まったデータを定期的にリフレッシュする必要があるようです

แต่、DBのデータをクリアするとNewStatPressが表示するカウンタもリセットされる仕様になっているためこの処理を容易に行う事が出来ません。 👉 この現象はバグであったように思われます(5月16日更新) Look at [ได้รับการแก้ไข] เข้าถึงหมายเลขโดยอัตโนมัติใหม่ทุกวัน (4 ลงรายการบัญชี)

ดังนั้น、やりたくは無かったのですが最終手段としてNewStatPressのプログラムを修正する事にしました
ネットを検索した限りではNewStatPressの最新バージョン(0.9.7)に対し日本でこの修正を行った人は未だ居ない模様です
修正箇所を見つけるのに少し時間が掛かりましたがやっと見つけました

本サイトは、1月15日から3月14日までに、7400人の訪問がありましたが翌日にDBのデータをクリアした事でカウンタが0になってしまいましたので訪問者総数に+7400を加えるようプログラムを修正しました

参考のため修正方法を以下に示します
มันควรจะตั้งข้อสังเกต、この処理で何らかの問題が生じても私は一切責任を負いません
ถ้า、あなたがこれを参考にプログラムを修正されるのならあくまでも自己責任でお願いします

以下に示すAjaxを制御するモジュールから呼ばれるAPI(variables.php)を修正します
中身は殆どSQLの集まりですが…

*และอาแจ็กซ์

 

このプログラムの「Line 71」を以下のように修正します(本サイトでは、+ 7400)

 

以下にプログラムの修正前と修正後のウィジェットの表示結果を示します

* 11 สิงหาคมวรรณกรรม
โดยบังเอิญ、私はNewStatPressのDBの肥大化を防ぐため集計期間を3ヶ月に設定し総合カウンタの集計についてはNewStatPressのカウンタ値を使用せずにPerlのプログラムの集計値を使用するようにしました
(front-page.php内からPerlのプログラム呼び出し)

การทดลองที่จะเรียก Perl ของโปรแกรมการวิเคราะห์การเข้าถึงจาก WordPress

ในการทดลองก่อนหน้านี้、กว่า header.php ของรูปแบบใน WordPress、เพียงแค่การเข้าถึง Perl โปรแกรมการวิเคราะห์ของ "perlstats.cgi (ชื่อชั่วคราว)" สายและ、ว่าเซิร์ฟเวอร์ของตัวแปรสภาพแวดล้อมที่ไม่ได้เอาไปจะได้รับพบ。

ในเวลานี้、คือการทดลองเพื่อเรียกโปรแกรมการวิเคราะห์การเข้าถึง Perl ในโปรแกรมของเวิร์ดเพรส index.php。
มันควรจะตั้งข้อสังเกต、ปกติโทรและ、เนื่องจากยังคงมีเพื่อที่จะไม่ข้ามตัวแปรสภาพแวดล้อม、ล่วงหน้า、จากโปรแกรม PHP ด้านที่จะได้รับตัวแปรสภาพแวดล้อม、แก้ไขยัง Perl ของโปรแกรมในลักษณะที่คุณผ่านในพารามิเตอร์。

รหัสโปรแกรม index.php ของ、มันจะเป็นดังนี้。
(ในการรักษาความปลอดภัย、ผมปรับเปลี่ยนรหัสจริงเล็กน้อย)

 

หน้าจอของโปรแกรมการจัดการเพื่อแสดงผลหลังจากการดำเนินการของ perlstats.pl ที่แสดงด้านล่าง。

 

มองที่หน้าจอดังกล่าวข้างต้น、ตัวแปรสภาพแวดล้อมในเซิร์ฟเวอร์ต่อไปนี้、มันเป็นคุณรู้ว่าได้รับการส่งมอบ。

REMOTE_HOST
REMOTE_ADDR
HTTP_USER_AGENT

แต่、อับ、เชื่อมโยง URL เดิมของการรวม’0ตั้งแต่ 'ยังคงเป็นของ、HTTP_REFERER เป็นรูปแบบที่ไม่ได้รับการส่ง。

ที่นั่น、ในสถานที่แรก、HTTP_REFERER คือเพื่อให้แน่ใจว่าการตั้งค่าที่ถูกต้องใน PHP และ Perl、เราเห็นในการตรวจสอบเพื่อให้เว็บไซต์ทดสอบอย่างง่าย。

จะเริ่มต้นด้วย、โปรแกรม PHP ที่แสดงตัวแปรสภาพแวดล้อมที่มีอยู่คือ "server_key.php"。(หัก)

 

ถัดไป、Perl ของโปรแกรมที่แสดงตัวแปรสภาพแวดล้อมที่มีอยู่คือ "server_key.pl"。(หัก)

 

และ、โค้ด HTML ด้านข้างจะเรียกพวกเขาโปรแกรมคือ "test_referer.html"。 (หัก)

 

แต่ละผลของการเชื่อมโยงสองดังกล่าวข้างต้น、มันจะเป็นดังนี้。

PHP、มันอยู่ในนี้ว่าทั้งสองมีความสามารถที่จะถูกซื้อกิจการของตัวแปรสภาพแวดล้อมเซิร์ฟเวอร์ Perl、ถูก。
ถ้ามันไม่ได้อยู่ในเวิร์ดเพรส、ดูเหมือนว่าปัญหาได้โดยไม่ต้องย้าย。

 

ปัญหา、มันคือการเชื่อมโยงสาม (index.php)。
หลังจากที่ทุก、HTTP_REFERER ก็ไม่สามารถที่จะได้รับ。

ที่นั่น、ความจริงที่ว่าตำแหน่งรหัสแทรก index.php อาจจะมีปัญหา、เราเห็นการแก้ไขดังต่อไปนี้。

 

ผลที่ได้คือ、มันก็ไม่ประสบความสำเร็จงดงาม。 (>_<)

มันจะอยู่ในขอบเขตเดียวกันของ PHP、มันเป็นผลเดียวกัน。
คาสิ ฯลฯ、แม้ว่าข้อมูลของ HTTP_REFERER ในเวิร์ดเพรสปลั๊กอินฉันรู้สึกเหมือนได้รับการตั้งค่าแบบไม่พร้อมที่จะ、สาเหตุที่รายละเอียดผมไม่ทราบว่าดีกับผม。
บางที、แคชใช้ plug-in "ซูเปอร์แคช WP" อาจก่อให้เกิด。

ถ้ามันมีให้เห็นในเรื่องนี้、บางคน、กรุณาบอกฉันครูเอลอย! !(หัวเราะ)

โดยที่ ...

เพราะมันเป็นเรื่องยากที่จะผ่าน HTTP_REFERER เพื่อ Perl โปรแกรมจาก WordPress、ในโปรแกรมการวิเคราะห์การเข้าถึง Perl ของ "perlstats.cgi"、เราจะให้สิ่งที่ไม่สามารถเป็นส่วนหนึ่งของ "การรวมตัวของ URL แหล่งที่มาของการเชื่อมโยง"。 บาร์เลย์