PHP内存限制调试

时间:2011-04-13 14:26:18

标签: php wordpress debugging fatal-error

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

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

我的问题/问题是:如果我将它们移动到一个允许至少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

2 个答案:

答案 0 :(得分:2)

1and1因糟糕的WP主机而臭名昭着。 WP 3.1尝试在运行时为自己分配64megs,在wp-config.php中,你可以在顶部附近添加这行

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

如果主持人允许,可以获得更多。如果可能,找一个新的主机。您正在以密集的方式运行插件,这将需要大量的RAM。它可能是插件和WP的错误,但就是这样。

答案 1 :(得分:0)

我知道这会发生错误的插件。不幸的是,它需要逐个关闭它们,看看应该责怪哪个插件。但是在插件停用后,你会没事的。

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