方法
一、伺服器日誌
ps aux | grep nginx //執行命令看主程序master process
,有nginx的安裝位置和配置檔案的位置
/usr/sbin/nginx -t //獲取當前配置nginx.config 配置檔案位置
tail -f /var/log/nginx/t3.local-error.log //檢視錯誤日誌
方法二、
phpinfo(); 找到配置檔案,找到錯誤日誌,開啟報錯級別,檢視錯誤日誌;
找到display_errors = on;
error_reporting=e_all & ~e_notice;
方法三、
跟蹤路由找到入口檔案,瀏覽器列印除錯問題;
資料庫開啟列印檢視寫入sql情況
#檢視日誌情況
show variables like '%general%';
#開啟日誌
set global general_log = 'on';
#指定日誌檔案
set global general_log_file = '/var/lib/mysql/mysql.log';
答案分析:set_error_handler() 可指定乙個**函式,錯誤發生時,會自動通過指定的**函式處理。在**函式中拋出新的異常即可。
方法四、
######## 通過回溯函式定位檔案錯誤位置
#### register_shutdown_function
####<?php
/*** 公共返回封裝
* class commonreturn
*/class commonreturn
);
<?phpclass a
}class b
}class c
}$c = new c("test");
msg:test
#0 a->say(test) called at [e:\phpstudy_pro\www\project\index.php:13]#1 b->say(test) called at [e:\phpstudy_pro\www\project\index.php:20]
#2 c->__construct(test) called at [e:\phpstudy_pro\www\project\index.php:24]
方法五、
通過xdebug 工具除錯 或 kint-php除錯工具
iOS快速定位問題
作為開發人員在除錯程式的時候,我們很想馬上知道錯誤的 在哪一行,而不想大概設定乙個斷點,逐行除錯發現最終是哪一行 出問題導致程式崩潰。可以使用下面這個辦法快速定位問題 1.unrecognized selector send to instancd 快速定位 在debug選單中breakpoints...
php 擴充套件 消失 問題排查
今晚本來要研究下swoole,但是當在cli裡面執行php指令碼的時候突然發現,swoole擴充套件不存在。當時就有點暈。昨天還好好的跑著呢今天怎麼就不能用了?就各種嘗試各種安裝發現還是沒有。前後折騰了乙個多小時。在執行的php v 突然發現 php的版本突然發現 php的版本程式設計5.3.8了,...
如何排查JVM記憶體問題並定位
今天收到測試小姐姐提的bug,在進行壓測的時,記憶體和cpu都飆高,要我分析一下。使用jdk自帶的 jvisualvm.exe 功能 在jdk的bin目錄下 如果是記憶體洩漏,堆記憶體會一直往上飆,然後會出現瘋狂gc的情況。我這裡沒有出現瘋狂gc的情況,而是有規律的gc,但每次gc的時候cpu都會飆...