0

我在我的计算机中安装了 Apache 2.4,并且使用了 localhost Web 应用程序。

这个应用程序使用了一个 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 防火墙的 Defense+ 模块警告我http.exe想要创建新的文件/文件夹C:\WINDOWS\TEMP\etilqs_???,其中 ??? 是随机数字和字母。

我认为这是因为数据库变大了(一开始我没有这个问题)。

有没有办法在不改变 httpd.exe 在 COMODO 防火墙中的可信度的情况下避免这些消息,即阻止 httpd.exe 创建这些文件/文件夹?

4

1 回答 1

3

你的“Defense+”东西完成了它的工作——它成功地保护你的机器免于做有用的事情的危险……</p>


说真的,SQLite 必须在某个地方创建它的临时文件,而临时目录就是设计用来保存这些文件的目录。

解决此问题的最佳方法是卸载 Comodo 的东西。

第二好的方法是配置所谓的防火墙以允许 httpd.exe(以及所有其他程序)访问临时目录。

最好的方法是配置 SQLite 连接以尝试通过执行将所有临时数据存储在内存中PRAGMA temp_store = 2;。(当您的数据库变得足够大以至于临时数据无法放入内存时,这无疑会崩溃。)

于 2013-04-20T15:22:39.013 回答