php日誌查看
❶ php日誌類
首先,你得有一個「日誌類」,明顯PHP並沒有內置,所以你需要自己編寫這個類。
日誌模塊的大概設計思路如下:
1、你得有一個數據表,記錄所有的用戶行為。
2、你得寫一個「日誌類」,這個類至少有一個方法:向數據表寫入日誌信息
那日誌信息從哪裡來呢?
在你想記錄日誌的地方,調用日誌類的方法來觸發寫入動作。
比如(偽代碼):
if(用戶登錄成功){
$日誌類=new日誌類();
$日誌類->插入數據("登錄日誌","登錄成功","username=a;password=b","IP"...)
}
如果你想做日誌的查詢功能,顯然你要給日誌類加更多方法..
❷ php怎麼記錄訪問者ip並生成日誌
php獲取訪問者IP地址匯總
在很我的時候我們需要得到用戶的真實IP地址,例如,日誌記錄,地理定位,將用戶信息,網站數據分析等,其實獲取IP地址很簡單$_SERVER[\'REMOTE_ADDR\']就可以了。下面我們就來給大家匯總一下常用的幾種獲取IP地址的方法。
//方法1:
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
//方法2:
代碼如下:
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
echo $user_IP;
//方法3:
function getRealIp()
{
$ip=false;
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
echo getRealIp();
//方法4:
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
{
$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
{
$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}
elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
{
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif (getenv("HTTP_X_FORWARDED_FOR"))
{
$ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_IP"))
{
$ip = getenv("HTTP_CLIENT_IP");
}
elseif (getenv("REMOTE_ADDR"))
{
$ip = getenv("REMOTE_ADDR");
}
else
{
$ip = "Unknown";
}
echo $ip ;
//方法5:
if(getenv('HTTP_CLIENT_IP')) {
$onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
$onlineip = getenv('REMOTE_ADDR');
} else {
$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
echo $onlineip;
//方法6:
print "您的IP地址是:";
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$cip = $_SERVER["HTTP_CLIENT_IP"];
}
elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif(!empty($_SERVER["REMOTE_ADDR"])){
$cip = $_SERVER["REMOTE_ADDR"];
}
else{
$cip = "無法獲取!";
}
print $cip;
保存TEXT中
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$time = gmdate("H:i:s",time()+8*3600);
$file = "123.txt" ;
$fp=fopen ("123.txt","a") ;
$txt= "$ip"."----"."$time"."\n";
fputs($fp,$txt);
?>
❸ PHP自帶的日誌是怎麼寫入和查看的呢
查看PHP錯誤日誌
可以在命令行裡面輸入: find . -name error.log
tailf -f error.log
寫入日誌,有固定的函數error_log($str, 3, filename)
❹ 怎麼在phpstudy中將錯誤日誌打開
有的小夥伴在使用phpstudy軟體學習時,為了方便可以檢查出錯誤日誌,因此想要打開錯誤日誌,但是卻不知道如何打開,那麼小編就來為大家介紹一下吧。
具體如下:
1.第一步,雙擊或者右擊打開phpstudy軟體。
2.第二步,來到下圖所示的phpstudy主頁面後,點擊頁面左側的網站選項。
3.第三步,在下圖所示的網站頁面中,點擊管理選項,接著點擊彈出窗口中的修改選項。
4.第四步,我們可以看到如下圖所示的管理修改頁面,點擊頁面頂部的高級配置選項。
5.第五步,來到下圖所示的高級配置頁面後,開啟錯誤日誌右邊的開關,使其變成藍色,接著點擊頁面底部的確認選項。
❺ 記錄網站出現nginx 404 not found的解決辦法
解決Nginx 404 Not Found錯誤,由PHP-FPM配置不當導致的辦法如下:
查看錯誤日誌:
- 當遇到Nginx 404 Not Found錯誤時,首先應查看Nginx和PHP-FPM的錯誤日誌。這可以通過Nginx和PHP-FPM的配置文件找到日誌文件的位置。
- 錯誤日誌中可能包含關鍵信息,如本例中提到的「connect() to unix:/tmp/php-cgi-xxx-php5.3-7vps.sock failed (2: No such file or directory)」,這直接指向了問題的根源。
檢查PHP-FPM配置:
- 根據錯誤日誌,確認PHP-FPM的監聽路徑是否正確。在PHP-FPM的配置文件中(如php-fpm.conf或對應的pool配置文件),檢查listen指令的值是否與Nginx配置中fastcgi_pass指令的值相匹配。
- 確認PHP-FPM的listen.group、user和group等參數是否設置正確,確保Nginx進程有權訪問PHP-FPM的監聽socket。
調整PHP-FPM的進程管理參數:
- 如果PHP-FPM配置為靜態模式(pm = static),確保pm.max_children的值足夠大,以處理網站的並發請求。如果值設置得太小,可能會導致請求無法被及時處理,從而引發錯誤。
- 如果配置為動態模式(pm = dynamic),則需要合理設置pm.start_servers、pm.min_spare_servers和pm.max_spare_servers等參數,以根據系統需求動態調整PHP-FPM進程數。
重啟服務:
- 在修改配置後,需要重啟Nginx和PHP-FPM服務,以使更改生效。
- 可以使用如systemctl restart nginx php-fpm(具體命令可能因系統而異)來重啟服務。
持續監控和日誌記錄:
- 啟用並持續監控錯誤日誌,以便在出現問題時能夠迅速定位並解決。
- 定期檢查系統資源使用情況,確保Nginx和PHP-FPM有足夠的資源來處理請求。
通過上述步驟,可以有效解決由PHP-FPM配置不當導致的Nginx 404 Not Found錯誤。在解決此類問題時,重要的是要仔細分析錯誤日誌,找出問題的根源,並據此進行針對性的配置調整。