2012-06-06 26 views
0

php-clamav是一個PHP5擴展,它允許將病毒掃描功能合併到PHP5腳本中。php-clamav - 被加載到*每個* Apache進程

http://sourceforge.net/projects/php-clamav/reviews/?sort=usefulness&filter=all#reviews-n-ratings它提到:

「問題是ClamAV的病毒庫被加載到每個 Apache進程這意味着每個進程的內存使用量已經從 〜16MB跳出來了〜170MB! !完全不能接受,但我認爲 項目可以被推薦,如果它可以做好「生產」準備。「

有沒有辦法解決這個問題?

+0

您還可以通過調整apache conf或使用前端代理來最小化進程數量,但無法加載病毒模塊並且無法獲取庫。 – anttir

回答

1

一個明顯的解決方案是NOT load the extension in every php instance

或者只是通過運行POPEN/EXEC掃描器/ ...等

,而不必看着的任何細節的項目,這聽起來好像它採用了獨立的掃描儀,而不是掃描守護+重量輕客戶端 - 在這種情況下,獨立掃描儀沒有多大意義。

+0

我還沒有使用dl函數。是否有任何副作用?像,它會花費時間來加載圖書館等? – Anish

0

您可以讓clamav只在一個PHP實例中運行。然後你可以發送這些東西用SysV隊列/ exec/tcp/http掃描到一個實例並返回結果。這樣你也可以跳過加載clamav庫的初始化懲罰。

+0

這聽起來有點複雜的解決方案。 – Anish

+0

它是。需要編寫一些對象以使其更清晰一些,一個用於服務器,一個用於客戶端。 – anttir