已将WordPress内存限制定义为无限制

时间:2018-03-22 作者:Ashish Dung Dung

定义(\'WP\\u MEMORY\\u LIMIT\',\'1\');

定义(\'WP\\u MAX\\u MEMORY\\u LIMIT\',\'1\');

所以有一个相当大的服务器,我希望任何网站使用最大可用ram。

这些设置有效吗?还是必须定义正的最大值?

1 个回复
SO网友:David Sword

如果你搜索WP源代码,你会发现_MEMORY_LIMIT 在里面wp-includes/default-constants.php

$current_limit     = @ini_get( \'memory_limit\' );
$current_limit_int = wp_convert_hr_to_bytes( $current_limit );
//..
if ( ! defined( \'WP_MAX_MEMORY_LIMIT\' ) ) {
    if ( false === wp_is_ini_value_changeable( \'memory_limit\' ) ) {
        define( \'WP_MAX_MEMORY_LIMIT\', $current_limit );
    } elseif ( -1 === $current_limit_int || $current_limit_int > 268435456 /* = 256M */ ) {
        define( \'WP_MAX_MEMORY_LIMIT\', $current_limit );
    } else {
        define( \'WP_MAX_MEMORY_LIMIT\', \'256M\' );
    }
}
第二个条件是makeWP_MAX_MEMORY_LIMIT-1 如果服务器设置为-1.

所以我想说,是的,它会起作用的。Give\'r.注意$current_limit (the-1 他们使用了)可能是整数,而不是字符串。我不确定这是否重要。From php.net

ini_get() 将返回存储在php.ini 文件,而不是其等效整数。尝试对这些值执行常规算术函数不会产生其他预期结果。上面的示例显示了一种将速记符号转换为字节的方法,非常类似于PHP源代码。

没有Redardless,我永远不会这么做。如果你有一个糟糕的脚本在做一些愚蠢的事情,比如无限循环,你可能会发生一些奇怪的事情,128gb的内存可能会比你想象的更快被吃掉。您希望脚本中断并保留您的服务器,而不是阻塞和最大化服务器。尤其是当您有多个站点共享资源时。如果您在WP中有任何需要大于256mb的php脚本,那就太荒谬了。

再一次from php.net:

memory\\u limit integer设置允许脚本分配的最大内存量(以字节为单位)。This helps prevent poorly written scripts for eating up all available memory on a server. 请注意,要没有内存限制,请将此指令设置为-1。

使用整数时,该值以字节为单位。也可以使用本常见问题解答中描述的速记符号。

结束

相关推荐

自定义插件提供:wp-admin/admin-ajax.php 400(错误请求)

我在调试我正在编写的插件时遇到问题。我想在用户更改select输入的选项时执行Ajax请求。事情是,它昨天完全按照预期工作,然后当我今天测试网站时(从昨天起,没有进行任何代码更改),我得到一个:领域com/wp-admin/admin-ajax。php 400(错误请求)我的Chrome控制台中的消息。如果我在Internet Explorer/FireFox中尝试,它不会在控制台中给出错误,但Ajax请求仍然不起作用。我正在创建的插件是一个DigitalOcean droplet,它是使用WordPre