1

ファイルを GalleryCMS にアップロードしようとしていますが、毎回 HTTP エラー 500 が発生します。

可能なすべての Web ページをチェックし、php.ini を変更し、実行時間を 1200 に、アップロードの最大値を 300MB に変更し、サイズ制限を 200MB に変更し、.htaccess ファイルの modsecurity を変更しようとしましたが、問題はありませんでした。

2MB までの任意のファイルをアップロードできますが、それ以上のファイルは HTTP エラー 500 になります。私が訪れたほとんどのサイトで行き詰まりました。

以下は私のuploadifyスクリプトです(GalleryCMSに付属していましたが、サイズ制限を除いてあまり変更していません):

$('#file_upload').uploadify({
'uploader'       : '<?php echo base_url(); ?>flash/uploadify.swf',
'script'         : '<?php echo base_url(); ?>index.php/api/upload/<?php echo $album->id; ?>',
'cancelImg'      : '<?php echo base_url(); ?>images/cancel.png',
'folder'         : '/uploads',
'auto'           : false,
'multi'          : true,
'scriptData'     : { 'user_id' : '<?php echo $user_id; ?>' },
'fileExt'        : '*.jpg;*.jpeg;*.gif;*.png',
'fileDesc'       : 'Image files',
'sizeLimit'      : 209715200, // 200MB
'wmode'          : 'opaque',
'onSelect'       : function(event, ID, fileObj) {
  $('#upload-btn').show();
},
'onCancel'       : function(event, ID, fileObj) {
  $('#upload-btn').hide();
},
'onError'        : function(event, ID, fileObj, errorObj) {

},
'onComplete'     : function(event, ID, fileObj, response, data) {
  var fileName = response;
  $('#upload-btn').hide();
  $('#new-images').show();
  $.ajax({
    url          : '<?php echo base_url(); ?>index.php/album/resize/<?php echo $album->id; ?>/' + response,
    type         : 'POST',
    cache        : false,
    success      : function(response) {
      if (response !== 'failure') {
        var new_image = '<li><img src="<?php echo base_url(); ?>uploads/' + response + '" /><br />' + response + '</li>';
        $('#new-image-list').append(new_image);
      } else {
        var fail_message = '<li>Thumbnail creation failed for: ' + fileObj.name + '</li>';
        $('#new-image-list').append(fail_message);
      }
    },
    error        : function(jqXHR, textStatus, errorThrown) {
      alert('Error occurred when generating thumbnails.');
    }
  });
}
});

自分で確認するには、URLはGalleryMeです

ユーザー名: test@test.com

パスワード: 12345

4

1 に答える 1

0

共有ホスティングを使用しているため、共有ホストの構成に問題があると確信しています。あなたの phpinfo(); が示すように。FastCGI で Apache/2 を使用しています。

FastCGI Apache モジュールの MaxRequestLength がホスト プロバイダーによって設定されている値が低すぎると思います。

可能であれば、このブロックを VirtualHost config に追加する必要があります:

# Work around annoying fcgid limitations
<IfModule mod_fcgid.c>
  # 20MB should be enough
  MaxRequestLen 20000000
</IfModule>

そうでない場合は、プロバイダーに連絡するか、プロバイダーを変更する必要があります。

于 2012-10-23T16:10:49.050 に答える