Tideways、xhprof 和 xhgui 打造 PHP 非侵入式監控平台
環境準備
安裝之前確保已經正確安裝了以下軟體
- PHP
- Nginx
- Mongodb
安裝PHP mongodb 擴充功能
$ sudo pecl install mongodb
PHP 設定檔中新增
[mongodb] extension=mongodb.so
安裝PHP tideaways 擴充功能
常規編譯安裝
$ git clone https://github.com/tideways/php-xhprof-extension.git $ cd /path/php-xhprof-extension $ phpize $ ./configure $ make $ sudo make install
PHP 設定檔中新增
[tideways] extension=tideways_xhprof.so ; 不需要自动加载,在程序中控制就行 tideways.auto_prepend_library=0 ; 频率设置为100,在程序调用时可以修改 tideways.sample_rate=100
安裝xhgui-branch(xhgui 的漢化版)
$ git clone https://github.com/laynefyc/xhgui-branch.git $ cd xhgui-branch $ php install.php
修改xhgui-branch 設定檔
<?php return array( ... 'extension' => 'tideways_xhprof', ... 'save.handler' => 'mongodb', 'db.host' => 'mongodb://127.0.0.1:27017', 'db.db' => 'xhprof', ... );
mongodb 並啟動xhgui-branch 設定檔
$ mongo > use xhprof > db.results.ensureIndex( { 'meta.SERVER.REQUEST_TIME' : -1 } ) > db.results.ensureIndex( { 'profile.main().wt' : -1 } ) > db.results.ensureIndex( { 'profile.main().mu' : -1 } ) > db.results.ensureIndex( { 'profile.main().cpu' : -1 } ) > db.results.ensureIndex( { 'meta.url' : 1 } )
mongodb 並啟動xhgui-branch 設定檔
server { listen 80; server_name xhgui.test; root /Users/yaozm/Documents/wwwroot/xhgui-branch/webroot; # access_log /usr/local/var/log/nginx/access.log; error_log /usr/local/var/log/nginx/error.log; location / { try_files $uri $uri/ /index.php?$query_string; index index.php index.html index.htm; } }
mongodb 並啟動xhgui-branch 設定檔
$ fastcgi_param PHP_VALUE "auto_prepend_file=/path/xhgui-branch/external/header.php";
mongodb 或設定xhgui 索引,指令如下:
server { listen 80; server_name laravel.test; root /Users/yaozm/Documents/wwwroot/laravel/public; # access_log /usr/local/var/log/nginx/access.log; error_log /usr/local/var/log/nginx/error.log; location / { try_files $uri $uri/ /index.php?$query_string; index index.php index.html index.htm; } # 添加 PHP_VALUE,告诉 PHP 程序在执行前要调用的服务 fastcgi_param PHP_VALUE "auto_prepend_file=/path/wwwroot/xhgui-branch/external/header.php"; }
xhgui 本機虛擬主機配置參考
; Automatically add files before PHP document. ; http://php.net/auto-prepend-file auto_prepend_file = "/path/wwwroot/xhgui-branch/external/header.php"
針對要分析的網站進行設置,直接在要分析網站的nginx 配置中增加下列項目,然後使配置生效就可以了。 rrreee參考配置rrreee或也可以在修改PHP 設定文件,告訴PHP 程式在執行前要呼叫的服務
rrreee###更多PHP相關技術文章,請訪問######PHP教程######欄位進行學習! ###以上是Tideways、xhprof 和 xhgui 打造 PHP 非侵入式監控平台的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP客戶端URL(curl)擴展是開發人員的強大工具,可以與遠程服務器和REST API無縫交互。通過利用Libcurl(備受尊敬的多協議文件傳輸庫),PHP curl促進了有效的執行

文章討論了PHP 5.3中介紹的PHP中的晚期靜態結合(LSB),允許靜態方法的運行時間分辨率調用以更靈活的繼承。 LSB的實用應用和潛在的觸摸

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

使用PHP的cURL庫發送JSON數據在PHP開發中,經常需要與外部API進行交互,其中一種常見的方式是使用cURL庫發送POST�...

深入解讀ReactPHP的非阻塞特性ReactPHP的一段官方介紹引起了不少開發者的疑問:“ReactPHPisnon-blockingbydefault....
