web-dev-qa-db-ja.com

58 MBを超えるファイルのアップロードエラー

58megを超えるファイルをアップロードすると、HTTPエラーが発生します。またはメディアアップローダを使用する場合はIOエラー、WordPress v3.5.1 Multisiteでブラウザアップローダを使用する場合は500 Internal Server Error。アップロードが停止してエラーメッセージが表示されるまでには、ほとんどの時間がかかります。ホスティングはゴダディを通したLINUXで、彼らはうまく130megファイルをロードするためにphpスクリプトをテストしました。それらは何も間違って見つけることができません。 modセキュリティ修正もこの問題に対してはうまくいかないようです。 FTPはより大きなファイルをアップロードするのにうまく働き、58megsより小さなファイルをアップロードするのはうまく働きます。これはマルチサイト構成であり、すべてのサイトでエラーが発生します。

my php5.ini file is this:
max_execution_time = 1800
max_file_uploads = 2000
memory_limit = 256M
post_max_size = 192M
file_uploads = On
upload_max_filesize = 192M

私の.htaccessファイルは今:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

</IfModule>

# END WordPress

私のwp-config.phpファイルの一部です:

/* Multisite */
define('WP_ALLOW_MULTISITE', true);

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'youmightry.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

define('WP_MEMORY_LIMIT', '256MB');

あなたの編集とあなたのコメントをありがとうございました! :)素晴らしいアイデアです!私は自分のホスティングがLinuxホスティングであることを言及するのを忘れていました..そして私は私のsettings.phpファイルを調べています
これがアップロード設定セクションです

 </table>
    <h3><?php _e( 'Upload Settings' ); ?></h3>
    <table class="form-table">
        <tr valign="top">
            <th scope="row"><?php _e( 'Site upload space' ) ?></th>
            <td>
            <label><input type="checkbox" id="upload_space_check_disabled" name="upload_space_check_disabled" value="0"<?php checked( get_site_option( 'upload_space_check_disabled' ), 0 ) ?>/> <?php printf( __( 'Limit total size of files uploaded to %s MB' ), '</label><label><input name="blog_upload_space" type="number" min="0" style="width: 100px" id="blog_upload_space" value="' . esc_attr( get_site_option('blog_upload_space', 100) ) . '" />' ); ?></label><br />
            </td>
        </tr>

        <tr valign="top">
            <th scope="row"><label for="upload_filetypes"><?php _e( 'Upload file types' ) ?></label></th>
            <td><input name="upload_filetypes" type="text" id="upload_filetypes" class="large-text" value="<?php echo esc_attr( get_site_option('upload_filetypes', 'jpg jpeg png gif') ) ?>" size="45" /></td>
        </tr>

        <tr valign="top">
            <th scope="row"><label for="fileupload_maxk"><?php _e( 'Max upload file size' ) ?></label></th>
            <td><?php printf( _x( '%s KB', 'File size in kilobytes' ), '<input name="fileupload_maxk" type="number" min="0" style="width: 100px" id="fileupload_maxk" value="' . esc_attr( get_site_option( 'fileupload_maxk', 300 ) ) . '" />' ); ?></td>
        </tr>
    </table> 
1
Adam Collegeman

いくつかのアイデア:

  • アップロード設定を確認するためだけにphp情報を確認する必要があります(<?php phpinfo();?>

  • マルチサイトと同じ問題があるかどうかを確認するために、シングルインストールを試すことができます。

  • サードパーティのアップロードスクリプトも自分で試してください。

  • /wp-includes/script-loader.phpでこれらの行を見つけました:

    // common bits for both uploaders
    $max_upload_size = ( (int) ( $max_up = @ini_get('upload_max_filesize') ) < (int) ( $max_post = @ini_get('post_max_size') ) ) ? $max_up : $max_post;
    
    if ( empty($max_upload_size) )
            $max_upload_size = __('not configured');
    

そのため、upload_max_filesizepost_max_sizeの最小値を使用しています。これらの変数は192MB> 58MBに設定されています。

1
birgire