2011-04-13 64 views
0

我有一个Wordpress网站的客户端。他们正在运行一些导致致命内存错误的插件。这两个插件具体是Simple Map & Drain Hole。我不确定这些插件究竟是哪一个引起了问题。简单地图用于管理地点或提供商,非常类似于Google地方信息。 Drain Hole用于通过URL隐藏来保护文件。PHP内存限制调试

在简单地图内,他们目前有大约900个地点。在Drain Hole内,他们目前有大约700个文件被保护。在开发过程中,我们没有任何问题,因为我们的PHP内存限制设置为64MB。在他们的实时服务器上,主机只允许30MB,并且不允许更改。

我的问题/问题是这样的:如果我将它们移动到一个新的主机,一个允许ATLEAST 64MB,我怎么可以肯定的是,如果他们继续增加这些插件,这将不会再次发生?无论如何要测试这些内存高峰是否合法,或者它们是否是糟糕的低效代码的结果?

编辑:致命错误似乎被击中或错过。它只发生在Wordpress管理面板的某些屏幕上,特别是那些处理简单地图的屏幕。虽然如果我禁用Drain Hole插件,错误完全消失。错误:

**Fatal error:** Out of memory (allocated 34078720) (tried to allocate 44 bytes) in /fake/dir/wp-includes/wp-db.php on line 1400 
+0

在哪些行发生致命错误? – 2011-04-13 14:27:56

+0

@Pekka - 查看我的编辑 – Chris 2011-04-13 14:31:59

+0

您的主机是否只阻止您编辑您的php.ini?如果是这样,你可以在脚本中使用ini_set('memory_limit',64);来设置内存。 – 2011-04-13 14:37:22

回答

2

1and1是一个糟糕的WP主机而臭名昭着。运行时WP 3.1尝试分配64megs它本身,而在WP-config.php文件,你可以在顶部附近

define('WP_MEMORY_LIMIT', '128M'); 

加入这行攫取更多的,如果一台主机允许它。如果可能的话找一个新的主机。您正在以密集的方式运行插件,这将需要大量的RAM。这可能是插件和WP的错误,但事实就是如此。

+0

是的,我正在转移到一个新的主机,因为1and1不允许我们拥有30MB以上的专有技术。 – Chris 2011-04-14 19:47:51

0

我知道这发生在buggy插件。不幸的是,它需要将它们逐个关闭,以查看哪个插件是责任。但是在插件停用之后,你会没事的。

这是我的解决方案,当我收到同样的错误。

+0

我同意这是在某些情况下的解决方案。然而,在这种情况下,插件实际上是需要的,技术上运行良好。我有一种感觉,在这种情况下,这些插件控制的数据量多于预期,这是某些页面内存峰值的原因。 – Chris 2011-04-13 20:39:32