2013-09-25 3 views
11

Кажется, я получаю сообщение «Ошибка загрузки HTTP», когда я пытаюсь загрузить изображения в администраторе Magento 1.7. У меня есть все медиа-папка/файлы, установленные на 777, .htaccess информация верна, я не использую защиту паролем, и это происходит в любом браузере.Magento - Загрузить ошибку HTTP?

Любые предложения приветствуются!

+0

Это может быть также http://stackoverflow.com/questions/2233627/swfupload-works-in-ie-but-not-in-firefox –

ответ

16

Есть много вещей, которые могут быть причиной этой проблемы, но вот несколько вещей, которые вы можете попробовать:

  • Убедитесь, что каталог/СМИ и все подкаталоги имеют свою группу пользователя Apache (обычно «www- данные»или„HTTPD“):

    sudo chgrp -R www-data /path/to/magento/media 
    
  • Убедитесь, что каталог/СМИ и все подкаталоги имеют соответствующие разрешения, данные пользователя вашего сервера Apache группы:

    sudo chmod -R 775 /path/to/magento/media 
    
  • В системы-> Конфигурация-> Общие-> Web, убедитесь, что "базовый URL" и "Базовый URL Медиа" правильны под как "Secure" и "небезопасный"

    1. В вашем Magento база данных, таблица core_config_data содержит исходные значения для вашего {{secure_base_url}} и {{unsecure_base_url}}

      Убедитесь, что эти значения являются правильными и имеют слеш, как http://example.com/

    2. в системе Коого guration выше, убедитесь, что эти значения верны, учитывая конечную косую черту в исходном значении. Это означает, что они должны выглядеть {{secure_base_url}}media, например, без косой черты

  • В Система-> Управление кэшем, отключить кэширование

  • Возьмите файлы .htaccess из свежей загрузки вашей версии Magento (включая .htaccess в корне вашего документа и любые файлы .htaccess в/media и все подкаталоги/media), создайте резервные копии ваших текущих файлов .htaccess, а затем явно скопируйте свежие файлы .htaccess, чтобы их заменить.

    Потому что .htaccess начинается с '.' символ, он будет проигнорирован некоторыми командами Linux, что может заставить людей думать, что они скопировали или перезаписали файл .htaccess, когда они на самом деле этого не сделали, поэтому делайте это осторожно.

    Теперь попробуйте еще раз, и если вы получите ту же ошибку, это исключит .htaccess.

  • Если вы используете SSL, попробуйте отключить SSL и если вы получите ту же ошибку, что будет исключает SSL

  • Перейдите к app/code/local и app/code/community и обратите внимание на пространствах имен в этих каталогах. Теперь перейдите к app/etc/modules и отредактируйте каждый *.XML-файл в этом каталоге сопоставление имен вы со следующим значением для <active> узла Замечены:

    <?xml version="1.0"?> 
    <config> 
        <modules> 
         <Namespace_*> 
          <!-- set this value to "false" --> 
          <active>false</active> 
          <!-- more nodes here, just leave every 
           node alone except <active> --> 
         </Namespace_*> 
        </modules> 
    <config> 
    

    Теперь попробуйте еще раз, и если вы получите ту же ошибку, что будет исключает модуль конфликтует

  • Если изображение достаточно большой, вы можете быть ограничены настройками PHP:

    1. Определите нагруженную php.ini:

      <?php 
      phpinfo(); // Look for "Loaded Configuration File" 
      
    2. Корректировать php.ini (если вы на Ubuntu это, вероятно, в /etc/php5/apache2/php.ini):

      sudo vi /path/to/php.ini 
      
      # Make these three values higher than the filesize of the images you're 
      # trying to upload: 
      upload_max_filesize = 200M 
      post_max_size = 200M 
      memory_limit = 200M 
      

      Перезапустите веб-сервер:

      sudo /etc/init.d/apache2 restart 
      

Если вы вы получили это далеко, и ничего не сработало, вот некоторые трудоемкие вещи, которые вы могли бы сделать, чтобы сузить, какая проблема:

  • Создайте новую установку Magento на том же веб-сервере и загрузите тестовые изображения.

    1. Если они до сих пор не работают, это проблема с Apache или конфигурации PHP (или, возможно, даже версии)

    2. Если они работают, то, вероятно, проблема с основными файлами Magento или вашу конфигурацию Magento или базу данных Magento или виртуальный хост Apache. Возьмите эти шаги, чтобы помочь определить, какие:

      1. Создать новую базу данных

      2. Удалить все в /path/to/new/magento/var/*

        sudo rm -rf /path/to/new/magento/var/* 
        
      3. В вашей старой Magento администратора, перейдите к System->Tools->Backups и нажмите Create Backup. Как только это будет сделано, перейдите /path/to/old/magento/var/backup/ и вставить резервную копию в новую базу данных, созданную:

        mysql -p -u username database_name < backup_file 
        
      4. В вашей новой Magento файловой системы, перейдите к /path/to/new/magento/app/etc/local.xml и отредактировать его, чтобы указать на новую базу данных:

        <username>{{db_user}}</username> 
        <password>{{db_pass}}</password> 
        <dbname>{{db_name}}</dbname> 
        
      5. Повторите загрузку изображений на новой Magento, и если вы получите сообщение об ошибке, проблема в конфигурации Magento или в базе данных Magento. Если вы не получили ошибку, проблема была в ваших основных файлах Magento или на вашем виртуальном хосте Apache.

Если вы хотите, чтобы предоставить больше информации, вероятно, наиболее полезными частями будут копией вашей загруженных php.ini, apache2.conf и/или httpd.conf, а также копии ваших файлов из .htaccessdocument root через все подкаталоги /media, с любой конфиденциальной информацией, запутанной, конечно.

+0

Это был лучший список решений, которые я видел по этой проблеме. В конце концов, я закончил переустановку на новом хосте, который, похоже, решил проблему. –

+3

«mcrypt» и «gd» Расширения PHP пропущены. Выше списка вещей, чтобы проверить Очень полезно, спасибо за это. Однако я проверил все это и не получил результата на моем Magento. В конце концов я нашел проблему - может быть, это будет полезно для кого-то - два PHP-расширения, необходимые для корректной работы Magento, отсутствовали после миграции сервера, сделанной некоторое время назад - «mcrypt» и «gd». Вероятно, один из них вызывает загрузку «HTTP-ошибки». После установки оба они работают как шарм. – witkacy26

8

Если у вас есть защищенный паролем корневой каталог с использованием файла .htaccess, удалите эту защиту и повторите попытку.

Внутри вашего .htaccess, обратите внимание на:

AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /path/to/your/passwd_file 
AuthGroupFile /dev/null 
require valid-user 

Убедитесь, что настройки потребности, как вы могли бы найти более эффективные способы защиты вашего сайта, чем этой перепроверить вашу безопасность.

+1

Большое спасибо. Это решило ошибку загрузки :) –

+0

Не очень безопасно просто удалить ограничение каталога, поскольку веб-сайт будет доступен общественности. Лучше добавьте записи «Разрешены», относящиеся к определенным IP-адресам, если это возможно. –

12

Чтобы добавить к ответу chjohasbrouck, вы также можете получить эту ошибку из-за отсутствия расширения расширения GD PHP.

Чтобы установить на Ubuntu ж/Apache сделать:

sudo apt-get install php5-gd 

, а затем перезапустить Apache.

Дальнейшие инструкции Ubuntu здесь: http://www.cyberciti.biz/faq/ubuntu-linux-install-or-add-php-gd-support-to-apache/

+1

Спасибо, что напомнили мне @pantsburgh – Alexandros

+1

Это работает для меня, спасибо! –

0

я нашел другую возможную причину. В Magento версии 1.6.2.0 это произошло, потому что в разделе System -> Web -> Session были активированы REMOTE_ADDR и HTTP_USER_AGENT. Я снова переключил оба на «нет», и эта ошибка исчезла (без каких-либо изменений!)

2

Неправильное разрешение проблемы за этой ошибкой. Если изменение группы пользователей apache/www-data и изменение разрешения на запись не разрешают это. Отключить .htpasswd проверки подлинности, если включено в .httaccess сделать этот комментарий этих строки

#AuthType Basic 
#AuthName "Password Protected Area" 
#AuthUserFile .htpasswd path 
#Require valid-user 
0

я испытал ту же проблему на моем сервере Ubuntu 10.04. Это было вызвано этой конкретной настройкой.

Теперь я сделал следующие изменения в этом файле: /etc/apache2/mods-available/fcgid.conf (вы должны иметь корневой доступ, чтобы изменить его):

FcgidMaxRequestLen 1073741824 

Почти на конце после последней строки FCGI команд и перед </IfModule> просто добавить :

<IfModule mod_fcgid.c> 
    AddHandler fcgid-script .fcgi 
    FcgidConnectTimeout 60 
    FcgidMaxRequestLen 1073741824 
</IfModule> 
2

Работа с той же проблемой Я обнаружил, что в моем случае это была проблема с моей конфигурацией nginx.

Максимальный размер загрузки по умолчанию для nginx составляет 1 МБ. Если вы загружаете файлы большего размера, вы увидите 413 ошибок в журнале ошибок nginx, а Magento просто скажет вам не описательную «ошибку загрузки HTTP».

Изменить или добавить параметр [client_max_body_size] в nginx.конф, где-то в разделе HTTP {}, как в этом примере, где я установил максимальный размер загрузки на 200mb:

http { 

    client_max_body_size 200m; 

} 
+0

Глядя на консольный журнал в Chrome, я видел ошибку 413, которая помогла мне отладить и применить это решение. Ницца! –

1

Я имел эту проблему в Magento 1.7, так как имя файла изображения «dutchman's_pipe.jpg» содержал апостроф. Надеюсь, это поможет кому-то другому.

Смежные вопросы