2
A
回答
2
我們已經使用onBeginRequest
或onEndRequest
。在這裏看到更多的信息:How to use events in Yii
實質上,你將全局請求事件與你自己的類掛鉤,然後做任何你想做的事情。
1
在Yii2的事件稱爲beforeRequest
和afterRequest
(http://www.yiiframework.com/doc-2.0/guide-structure-applications.html)
例如:(根據
Yii::$app->on('afterRequest', function($event) {
//do something...
//response object is in $event->sender->response
//response data is in $event->sender->response->data
//request object is in $event->sender->request
});
但是,這是之前響應數據已經制備成應答內容響應格式,例如,Response::FORMAT_JSON
)所以如果你想要真正的最終響應機構,你需要做的這(http://www.yiiframework.com/doc-2.0/guide-runtime-responses.html#sending-response):
Yii::$app->response->on(\yii\web\Response::EVENT_AFTER_SEND, function($event) { //alternatively use EVENT_AFTER_PREPARE
//now you can access $event->sender->content and eg. $event->sender->getHeaders()
//Also, you have access to the request through Yii::$app->request
});
相關問題
- 1. Delphi - 記錄所有HTTP請求
- 2. 如何使用xcode記錄HTTP請求
- 3. 將所有請求記錄到數據庫中的網站
- 4. 如何將所有http請求重定向到掛載點
- 5. 如何將所有HTTPS請求重定向到HTTP請求?
- 6. 如何將所有HTTP請求記錄到我的Sails.js服務器?
- 7. 是否可以使用Apache記錄所有HTTP請求標頭?
- 8. 使用mitmproxy內聯腳本記錄所有http請求
- 9. 如何記錄所有的硒請求?
- 10. 如何將所有HTTP請求重定向到HTTP
- 11. 使用NLog記錄HTTP請求
- 12. 如何記錄使用VCR的所有請求?
- 13. 使用Omniauth,如何記錄所有身份驗證請求?
- 14. 將所有請求重定向到「站點離線」頁面
- 15. mysql將http://添加到網站列中的所有記錄
- 16. .htaccess:將所有請求轉發到另一個站點
- 17. 使用.htaccess將所有目錄請求重寫到子目錄
- 18. ASP.net MVC站點:將所有「非WWW」請求重定向到WWW
- 19. 如何使用node-http-proxy代理所有HTTP請求
- 20. 簡單的Azure網站(使用nodejs構建),如何記錄http獲取請求
- 21. 使用http將所有請求重定向到https
- 22. 在mongodb中記錄所有請求
- 23. 記錄所有請求提交的Django
- 24. Play Framework檢查HTTP請求
- 25. 如何使用GCP Load Balancer將所有HTTP請求重定向到HTTPS
- 26. Nginx重寫所有HTTP請求到www
- 27. 如何在開發模式下將所有HTTP請求記錄到Rails應用程序?
- 28. 將http請求發送到特定站點的計劃
- 29. 使用Jmeter的HTTP請求將記錄放入Amazon Kinesis
- 30. 如何使所有HTTP請求通過HTTPS使用.htaccess或PHP
我知道這篇文章,但我無法找到如何記錄http請求,只有錯誤。我不想在框架代碼中編寫自定義代碼 – Ozerich
如果您只需要一個HTTP請求日誌,並且您正在運行Apache作爲您的服務器,則可以使用已存在的訪問日誌:http://httpd.apache.org /docs/1.3/logs.html#accesslog。或者,Yii內部是否有特定的需求? –
是的,我知道Apache日誌,但我認爲Yii建議類似的功能 – Ozerich