2013-04-20 43 views
0

我在我的電腦中安裝了Apache 2.4,並使用本地主機web應用程序。如何避免httpd.exe在C WINDOWS TEMP 中創建etilqs?

此應用程序使用一個sqlite數據庫(通過PHP PDO),它在開始時很小,但現在它有66518行。

有一段時間,當我運行

SELECT Z.A,B,C,D,(SELECT 1 FROM X WHERE X.A=Z.A AND X.E IS NOT NULL) 
FROM Y,Z 
Where F=:f AND Y.A=Z.A 
ORDER BY D IS NULL DESC, D IS "" ASC, D DESC 
LIMIT :startRow,24 

的COMODO防火牆的防禦+模塊警告我說,http.exe要創建新的文件/文件夾C:\WINDOWS\TEMP\etilqs_???,其中???是隨機數字和字母。

我認爲這是因爲數據庫變大了(一開始我沒有這個問題)。

有沒有辦法在不改變httpd.exe在COMODO防火牆中的可信度的情況下避免這些消息,即停止httpd.exe創建這些文件/文件夾?

回答

2

你的「防禦+」啄他的工作的 - 它成功地捍衛你的機器從做一些有用的東西的危險......


嚴重的是,SQLite的具有地方創建的臨時文件和臨時目錄是目錄,旨在保存這些文件。

解決此問題的最佳方法是卸載該Comodo thingy。

第二好的方法是將所謂的防火牆配置爲允許httpd.exe(以及所有其他程序)訪問臨時目錄。

最不好的方法是將SQLite連接配置爲嘗試通過執行PRAGMA temp_store = 2;來將所有臨時數據存儲在內存中。 (當你的數據庫變得足夠大以至於臨時數據不適合內存時,這無疑會被炸掉。)

+0

我已經問過一個分拆的問題:http://stackoverflow.com/questions/16122824/how-can-i-change-temp-folder-where-sqlite-creating-etilqs-files,或許你也可以幫助我呢? – Oriol 2013-04-20 16:54:27