Wordpress:上传时出错

时间:2013-02-08 07:26:20

标签: wordpress upload wordpress-3.5

更新到WordPress 3.5后,我在使用“添加媒体”按钮作为非管理员用户上传文件时开始出现以下错误:

  

错误:上传时出错。请稍后再试。

图像似乎已完成上传,但最后会出现此错误消息。

管理员不会发生这种情况,只会发生其他角色。我甚至尝试过赋予其他角色完整的管理功能,但错误仍然存​​在。

这是一个错误吗?或者我错过了什么?

5 个答案:

答案 0 :(得分:8)

经过多次反复试验,我终于找到了适合我的解决方案。

首先,我发现上传自定义用户角色的文件需要以下角色功能:

$capabilites = array(

    'read'                  => true,
    'upload_files'          => true,
    'edit_published_pages'  => true,
    'edit_others_pages'     => true

);

我不确定为什么这些是特别需要的,但错误会在没有它们的情况下继续发生。

其次,我必须更新我正在使用的功能,以防止非管理员用户访问控制板:

function redirect_nonadmin_fromdash(){

    if($_SERVER['PHP_SELF'] == '/wp-admin/async-upload.php'){

        /* allow users to upload files */

        return true;

    } else if(get_user_role() != 'administrator'){

        /* custom function get_user_role() checks user role, 
        requires administrator, else redirects */

        wp_safe_redirect(home_url());
        exit;

    }

}

add_action( 'login_form_login', 'redirect_nonadmin_fromdash' );
add_action( 'admin_init', 'redirect_nonadmin_fromdash', 1 );

以前,我正在检查media-upload.php,但新媒体上传器使用async-upload.php。

因此,基本上,这允许非管理员用户从前端使用新的媒体上传器,而不允许他们访问仪表板。

它还限制了他们访问媒体库,这对我来说也很重要。

答案 1 :(得分:1)

这可能是由几个不同因素造成的,这通常表明:

文件很大

关于如何提升允许的最大文件大小,请this线程。

磁盘空间不足

检查您的服务器硬盘是否已满。

写入权限不足

确保PHP和您的网络服务器对wp-uploads文件夹具有写入权限。

答案 2 :(得分:1)

我将PHP更新为5.3后出现此错误。我的问题是short_open_tag。

默认关闭。我启用了它,一切都很好。

答案 3 :(得分:0)

我解决了我的问题,

sudo apt-get update
sudo apt-get install php5-gd

这条消息我在上传的瞬间进入了萤火虫检查。

   GD Library Error: imagecreatetruecolor does not exist - please contact your webhost and ask them to install the GD libraryGD Library Error: imagecreatetruecolor does not exist - please contact your webhost and ask them to install the GD library{"success":true,"data":{"id":17,"title":"yoshi","filename":"yoshi1.jpg"

所以我在上传的那一刻就在firebug中得到了这个。

答案 4 :(得分:0)

请参阅此链接了解更多详情 - 它帮助了我 https://sebastian.expert/fix-wordpress-an-error-occurred-in-the-upload-please-try-again-later/

基本上它说的是在Chrome或Firefox中使用Developer工具在上传文件后查看async_upload.php文件的响应(出现错误消息时)。它以JSON格式返回错误详细信息。有了详细信息,解决问题会更容易,也更快。