已忽略php.ini中的最大上传大小更改-如何删除上传大小限制?

时间:2015-02-10 作者:ReynierPM

我正在进行多站点WP安装,需要从其他Wordpress站点导入内容(.wxr 文件)。当我使用导入WordPress插件时,我得到了以下信息:

enter image description here

允许的最大上载大小仅为1MB, 当我设置时100MB 在我的php.ini. 打电话给phpinfo() 告诉我们.ini 值应适用:

enter image description here

怎么了?我阅读了upload_max_filesize on this site, 但这一切都不起作用。

注意:这只发生在Wordpress上。我有Symfony2个网站,我可以上传100MB以上的文件,所以是的,这是正确的php.ini 设置,Apache服务器会正确应用这些设置。

Writing MU Wordpress Plugin

之后@kaiser 建议我创建了/wp-content/mu-plugins/uploadSizeLimit.php 并在其上写下以下内容:

/** Plugin Name: (WPSE) #177620 Alter Upload Size Limit */
add_filter(
    \'upload_size_limit\',
    function ( $limit = 0, $u_bytes = 0, $p_bytes = 0 ) {
        return 
               current_user_can( \'manage_options\' ) 
               ? 1024 * 1024 * 10 // Divert by 1024 to get the value in kB
               : $limit;
    }
);
我如何利用它来实现我所需要的?

2 个回复
最合适的回答,由SO网友:ReynierPM 整理而成

谢谢@kaiser 但不需要仔细研究你的解决方案,我找到了一个简单的解决方案,我会在这里分享给像我这样的新手。

如果您在WP网络站点上工作,则步骤如下:

在顶部,将鼠标悬停在“我的网站”上,然后单击“网络管理”500000 我得到了500M 作为max\\u file\\u大小上载。学分是给用户的here

SO网友:kaiser

有一个名为\'upload_size_limit\' 您应该能够更改该值。只需为该作业添加一个小型mu插件:

<?php
/** Plugin Name: (WPSE) #177620 Alter Upload Size Limit */
add_filter( \'upload_size_limit\', function( $limit = 0, $u_bytes = 0, $p_bytes = 0 )
{
    return (
        in_array( get_current_screen()->base, array( /* Add Screen "base"s here */ )
        and current_user_can( \'manage_options\' )
    )
        ? 1024 * 1024 * 10 // Divert by 1024 to get the value in kB
        : $limit;
} );
如你所见,我还检查了get_current_screen()名为的属性base. 您也可以检查不同的属性,但请确保缩小屏幕范围,删除/更改默认限制适用于您真正需要的屏幕。

结束

相关推荐

Wordpress import error

首先我在我的网站上安装了WordPress,然后我使用导出工具为我的博客(akasujjwal.WordPress.com)生成了一个XML文件。当我尝试将此XML文件导入已安装的WordPress时,我会遇到以下错误:抱歉,出现错误。文件为空。请上传更多内容。此错误也可能是由于您的php.ini 或由post_max_size 定义为小于upload_max_filesize 在里面php.ini.为什么会发生这种情况?有什么解决办法吗?我试图在一个免费主机上的站点上安装WordPress。在这期间,我