Меню

Ошибка 500 при загрузке картинок

  1. 23.06.2015, 00:07


    #1

    Fantomas вне форума


    Junior Member


    Exclamation 500 Internal Server Error при загрузке JPG

    Добрый день.

    При загрузке фотографий и изображений в формате JPG через PHP-скрипт возникает ошибка «500 Internal Server Error». Тесты показали, что 1) загрузка других форматов (текстового, к примеру) к этой ошибке не приводит; 2) до обработки загруженных изображений дело не доходит — сервер выдаёт 500-ю сразу же при поступлении мультимедиа-контента на вход. Все необходимые директивы в PHP.INI указаны корректно (макс. размер загрузок, разрешения на POST-отправку и пр.) Тем не менее причину ошибки вычислить не удаётся, нужна помощь, заранее спасибо.


  2. 23.06.2015, 01:39


    #2

    VA вне форума


    Senior Member

    Аватар для VA



  3. 23.06.2015, 13:57


    #3

    Fantomas вне форума


    Junior Member


    По умолчанию

    Да, error-log смотрел, никаких ошибок по теме в нём не отображено. И нет, я не полагаю, что во всём виноват ISPmanager, просто ищу решение проблемы. Если виновата в ошибке окажется Памела Андерсон, мне без разницы.


  4. 23.06.2015, 14:20


    #4

    usaafko вне форума


    ISPsystem team

    Аватар для usaafko


    По умолчанию

    К сожалению, тут подсказать вряд ли сможем — возможно у кого-то из форумчан возникала подобная проблема


  5. 23.06.2015, 15:11


    #5

    HappyAlex вне форума


    Senior Member


    По умолчанию

    Fantomas, нужно смотреть error_log — либо домена либо апача


  6. 24.06.2015, 16:48


    #6

    Fantomas вне форума


    Junior Member


    По умолчанию

    Понял, HappyAlex, спасибо, значит, надежда только на логи. Попробую.


  7. 03.07.2015, 20:31


    #7

    Net-burst вне форума


    Member

    Аватар для Net-burst


    По умолчанию

    У меня была такая же проблема с nginx. Тоже тишина в логах была. Проверьте права на /var/lib/nginx. У меня они должны были быть apache:root, а стояли nginx:nginx


Пользователи интернета и владельцы сайтов периодически сталкиваются с различными ошибками на веб-страницах. Одной из самых распространенных ошибок является error 500 (ошибка 500). Поговорим в нашей статье о том, что это за ошибка и как ее исправить.

Где и когда можно встретить ошибку 500

Вы можете увидеть ошибку на любом веб-ресурсе, браузере и устройстве. Она не связана с отсутствием интернет-соединения, устаревшей версией операционной системы или браузера. Кроме того, эта ошибка не указывает на то, что сайта не существует или он больше не работает.

Ошибка 500 говорит о том, что сервер не может обработать запрос к сайту, на странице которого вы находитесь. При этом браузер не может точно сообщить, что именно пошло не так. 

Отображаться ошибка может по-разному. Вот пример:

Ошибка 500

Если вы решили купить что-то в любимом интернет-магазине, но увидели на сайте ошибку 500, не стоит сильно огорчаться – она лишь сообщает о том, что вам нужно подождать, пока она будет исправлена.

Если ошибка появилась на вашем сайте, то нужно скорее ее исправлять. Далее я расскажу, как это можно сделать.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Причины возникновения ошибки

Итак, ошибка 500 возникает, когда серверу не удается обработать запрос к сайту. Из-за этого пользователи не могут попасть на сайт, а поисковые системы полноценно с ним работать. Очевидно, что ошибка нуждается в исправлении. В первую очередь необходимо найти проблему.

Основной причиной ошибки 500 может быть:

  1. Неверный синтаксис файла .htaccesshtaccess – это файл, в котором можно задавать настройки для работы с веб-сервером Apache и вносить изменения в работу сайта (управлять различными перенаправлениями, правами доступа к файлам, опциями PHP, задавать собственные страницы ошибок и т.д.). 
    Узнать больше о файле .htaccess можно в статье «Создание и настройка .htaccess».
  2. Ошибки в скриптах сайта, то есть сценариях, созданных для автоматического выполнения задач или для расширения функционала сайта.
  3. Нехватка оперативной памяти при выполнении скрипта.
  4. Ошибки в коде CMS, системы управления содержимым сайта. В 80% случаев виноваты конфликтующие плагины. 

Год хостинга в подарок при заказе лицензии 1С-Битрикс

Выбирайте надежную CMS с регулярными обновлениями системы и профессиональной поддержкой.

Заказать

Как получить больше данных о причине ошибки 

Что означает ошибка 500, мы теперь знаем. Когда она перестала быть таким загадочным персонажем, не страшно копнуть глубже — научиться определять причину ошибки. В некоторых случаях это можно сделать самостоятельно, так что обращаться за помощью к профильному специалисту не понадобится.

Отображение ошибки бывает разным. Ее внешний облик зависит от того, чем она вызвана.

Самые частые причины ошибки 500 можно распознать по тексту ошибки или внешнему виду страницы. 

  1. Сообщение Internal Server Error говорит о том, что есть проблемы с файлом .htaccess (например, виновата некорректная настройка файла). Убедиться, что .htaccess является корнем проблемы, поможет следующий прием: переименуйте файл .htaccess, добавив единицу в конце названия. Это можно сделать с помощью FTP-клиента (например, FileZilla) или файлового менеджера на вашем хостинге (в Timeweb такой есть, с ним довольно удобно работать). После изменения проверьте доступность сайта. Если ошибка больше не наблюдается, вы нашли причину.
  2. Сообщение HTTP ERROR 500 или пустая страница говорит о проблемах со скриптами сайта. В случае с пустой страницей стоит учесть, что отсутствие содержимого сайта не всегда указывает на внутреннюю ошибку сервера 500.

Давайте узнаем, что скрывается за пустой страницей, обратившись к инструментам разработчика. Эта браузерная панель позволяет получить информацию об ошибках и другие данные (время загрузки страницы, html-элементы и т.д.). 

Как открыть панель разработчика

  • Нажмите клавишу F12 (способ актуален для большинства браузеров на Windows). Используйте сочетание клавиш Cmd+Opt+J, если используете Google Chrome на macOS. Или примените комбинацию Cmd+Opt+C в случае Safari на macOS (но перед этим включите «Меню разработки» в разделе «Настройки» -> «Продвинутые»). Открыть инструменты разработчика также можно, если кликнуть правой кнопкой мыши в любом месте веб-страницы и выбрать «Просмотреть код» в контекстном меню. 
  • Откройте вкладку «Сеть» (или «Network») и взгляните на число в поле «Статус». Код ответа об ошибке 500 — это соответствующая цифра.

Причины ошибки 500Более детальную диагностику можно провести с помощью логов.

Простыми словами: лог — это журнал, в который записывается информация об ошибках, запросах к серверу, подключениях к серверу, действиях с файлами и т.д.

Как вы видите, данных в логи записывается немало, поэтому они разделены по типам. За сведениями о нашей ошибке можно обратиться к логам ошибок (error_log). Обычно такие логи предоставляет служба поддержки хостинга, на котором размещен сайт. В Timeweb вы можете включить ведение логов и заказать необходимые данные в панели управления. Разобраться в полученных логах поможет статья «Чтение логов».

Как устранить ошибку

Теперь поговорим о том, как исправить ошибку 500. Вернемся к популярным причинам этой проблемы и рассмотрим наиболее эффективные способы решения.

Ошибки в файле .htaccess

У этого файла довольно строгий синтаксис, поэтому неверно написанные директивы (команды) могут привести к ошибке. Попробуйте поочередно удалить команды, добавленные последними, и проверьте работу сайта. 
Также найти проблемную директиву можно с помощью логов ошибок (через те же инструменты разработчика в браузере). На ошибку в директиве обычно указывает фраза «Invalid command». Информацию о верном написании директивы или способе исправления ошибок в .htaccess вы можете найти в интернете. Не нужно искать, почему сервер выдает ошибку 500, просто введите в строку поиска название нужной команды или текст ошибки из логов.

Ошибки в скриптах сайта

Скрипт не запускается

Обычно это происходит, когда существует ошибка в скрипте или функция, которая не выполняется. Для успешного запуска скрипта функция должна быть верно прописана, поддерживаться сервером и выполняться от используемой версии PHP. Бывают ситуации, когда функция несовместима с определенными версиями PHP. Получить более подробную информацию о той или иной функции можно в интернете. 

Не хватает оперативной памяти

Если в логах вы видите ошибку «Allowed memory size», для устранения ошибки 500 стоит оптимизировать работу скрипта. Вы можете воспользоваться специальными расширениями для анализа производительности скрипта или обратиться за помощью к специалисту, который поработает над его оптимизацией.

Если ваш сайт размещен на отдельном физическом или виртуальном сервере, можно попробовать увеличить максимальное использование оперативной памяти на процесс (memory_limit). На шаред хостинге этот параметр обычно не изменяется, но есть возможность купить хостинг помощнее.

Ошибки в CMS

Если код CMS содержит неверный синтаксис, это может вывести сайт из строя. В таком случае логи сообщат вам об ошибке 500 текстом «PHP Parse error: syntax error, unexpected». Так происходит, когда некорректно работает плагин (или тема, используемая в CMS, но реже) либо есть ошибки в коде. Ошибка может быть допущена случайно, произойти при обновлении плагина или версии CMS.

При чтении логов обратите внимание на путь, который следует за сообщением об ошибке, ведь он может указать на проблемную часть кода или плагин. Если проблема в плагине, для восстановления работы сайта переименуйте на время папку, в которой он расположен. Попробуйте обновить плагин или откатить его до прежней версии. Если ситуацию не удается исправить, от расширения стоит отказаться либо заменить его аналогом.

Ошибка 500 из-за плагинов ВордпрессТакже в большинстве случаев подобные проблемы помогает решить поддержка CMS.

Информацию о других распространенных ошибках вы можете найти в статье «6 наиболее часто возникающих ошибок HTTP и способы их устранения».

Удачи! 

В статье мы расскажем, как исправить ошибку (код состояния) 500 со стороны пользователя и администратора сайта, а также подробно разберём, что такое ошибка запроса 500.

Что такое внутренняя ошибка сервера 500

Код ошибки 5хх говорит о том, что браузер отправил запрос корректно, но сервер не смог его обработать. Что значит ошибка 500? Это проблема сервера, причину которой он не может распознать.

Сообщение об ошибке сопровождается описанием. Самые популярные варианты:

  • Внутренняя ошибка сервера 500,
  • Ошибка 500 Internal Server Error,
  • Временная ошибка (500),
  • Внутренняя ошибка сервера,
  • 500 ошибка сервера,
  • Внутренняя ошибка HTTP 500,
  • Произошла непредвиденная ошибка,
  • Ошибка 500,
  • HTTP status 500 internal server error (перевод ― HTTP статус 500 внутренняя ошибка сервера).

Дизайн и описание ошибки 500 может быть любым, так как каждый владелец сайта может создать свою версию страницы. Например, так выглядит страница с ошибкой на REG.RU:

Как ошибка 500 влияет на SEO-продвижение

Для продвижения сайта в поисковых системах используются поисковые роботы. Они сканируют страницы сайта, проверяя их доступность. Если страница работает корректно, роботы анализируют её содержимое. После этого формируются поисковые запросы, по которым можно найти ресурс в поиске.

Когда поисковый робот сканирует страницу с ошибкой 500, он не изменяет её статус в течение суток. В течение этого времени администратор может исправить ошибку. Если робот перейдёт на страницу и снова столкнётся с ошибкой, он исключит эту страницу из поисковой выдачи.

Проверить, осталась ли страница на прежних позициях, можно с помощью Google Search Console. Если робот исключил страницу из поисковой выдачи, её можно добавить снова.

Код ошибки 500: причины

Если сервер вернул ошибку 500, это могло случиться из-за настроек на web-хостинге или проблем с кодом сайта. Самые распространённые причины:

  • ошибки в файле .htaccess,
  • неподходящая версия PHP,
  • некорректные права на файлы и каталоги,
  • большое количество запущенных процессов,
  • большие скрипты,
  • несовместимые или устаревшие плагины.

Решить проблему с сервером можно только на стороне владельца веб-ресурса. Однако пользователь тоже может выполнить несколько действий, чтобы продолжить работу на сайте.

Что делать, если вы пользователь

Если на определённом ресурсе часто возникает ошибка 500, вы можете связаться с владельцем сайта по инструкции.

Перезагрузите страницу

Удаленный сервер возвращает ошибку не только из-за серьёзных проблем на сервере. Иногда 500 ошибка сервера может быть вызвана небольшими перегрузками сайта.

Чтобы устранить ошибку, перезагрузите страницу с помощью сочетания клавиш:

  • на ПК — F5,
  • на ноутбуке — Fn + F5,
  • на устройствах от Apple — Cmd + R.

Обратите внимание! Если вы приобретаете товары в интернет-магазине и при оформлении заказа появляется 500 Internal Server Error (перевод — внутренняя ошибка сервера), при перезагрузке страницы может создаться несколько заказов. Поэтому сначала проверьте, оформился ли ваш предыдущий заказ. Если нет, попробуйте оформить заказ заново.

Очистите кэш и cookies браузера

Кэш и cookies сохраняют данные посещаемых сайтов и данные аутентификаций, чтобы в будущем загружать веб-ресурсы быстрее. Если на ресурсе уже был статус ошибки 500, при повторном входе на сайт может загружаться старая версия страницы с ошибкой из кэша, хотя на самом деле страница уже работает. Очистить кэш и куки браузера вам поможет инструкция.

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

Что делать, если вы владелец сайта

В большинстве случаев устранить проблему может только владелец сайта. Как правило, ошибка связана с проблемами в коде. Реже проблемы могут быть на физическом сервере хостинг-провайдера.

Ниже рассмотрим самые популярные причины и способы решения.

Ошибки в файле .htaccess

Неверные правила в файле .htaccess — частая причина возникновения ошибки. Чтобы это проверить, найдите .htaccess в файлах сайта и переименуйте его (например, в test). Так директивы, прописанные в файле, не повлияют на работу сервера. Если сайт заработал, переименуйте файл обратно в .htaccess и найдите ошибку в директивах. Если вы самостоятельно вносили изменения в .htaccess, закомментируйте новые строки и проверьте доступность сайта.Также может помочь замена текущего файла .htaccess на стандартный в зависимости от CMS.

Найти директиву с ошибкой можно с помощью онлайн-тестировщика. Введите содержимое .htaccess и ссылку на сайт, начиная с https://. Затем нажмите Test:


Произошла непредвиденная ошибка

На экране появится отчёт. Если в .htaccess есть ошибки, они будут выделены красным цветом:


500 ошибка nginx

Активирована устаревшая версия PHP

Устаревшие версии PHP не получают обновления безопасности, работают медленнее и могут вызывать проблемы с плагинами и скриптами. Возможно, для работы вашего веб-ресурса нужна более новая версия PHP. Попробуйте сменить версию PHP на другую по инструкции.

Установлены некорректные права на файлы и каталоги сайта

В большинстве случаев корректными правами для каталогов являются «755», для файлов — «644». Проверьте, правильно ли они установлены, и при необходимости измените права на файлы и папки.

Запущено максимальное количество процессов

На тарифах виртуального хостинга REG.RU установлены ограничения на количество одновременно запущенных процессов. Например, на тарифах линейки «Эконом» установлено ограничение в 18 одновременно запущенных процессов, на тарифах «+Мощность» ― 48 процессов. Если лимит превышен, новый процесс не запускается и возникает системная ошибка 500.

Такое большое число одновременных процессов может складываться из CRON-заданий, частых подключений с помощью почтовых клиентов по протоколу IMAP, подключения по FTP или других процессов.

Чтобы проверить количество процессов, подключитесь по SSH. Выполните команду:

ps aux | grep [u]1234567 |wc -l

Вместо u1234567 укажите ваш логин хостинга: Как узнать логин хостинга.

Чтобы посмотреть, какие процессы запущены, введите команду:

Вместо u1234567 укажите логин услуги хостинга.

Командная строка отобразит запущенные процессы:


Код ошибки 500

Где:

  • u1234567 — логин услуги хостинга,
  • 40522 — PID процесса,
  • S — приоритет процесса,
  • /usr/libexec/sftp-server — название процесса.

Процесс можно завершить командой kill, например:

Вместо 40522 укажите PID процесса.

Чтобы решить проблему, вы также можете:

  • увеличить интервал запуска заданий CRON,
  • ограничить количество IMAP-соединений в настройках почтового клиента. Подробнее в статье Ограничение IMAP-соединений,
  • проанализировать запущенные процессы самостоятельно или обратившись за помощью к разработчикам сайта.

Если вам не удалось самостоятельно устранить ошибку 500, обратитесь в техподдержку.

Скрипты работают слишком медленно

На каждом виртуальном хостинге есть ограничения на время выполнения скрипта. Если за установленное время скрипт не успевает выполниться, возникает ошибка сервера 500. Для решения проблемы обратитесь к разработчику сайта и оптимизируйте скрипты. Если оптимизировать нельзя, перейдите на более мощный вид сервера.

У пользователей VPS есть возможность увеличить максимальное использование оперативной памяти на процесс, но лучше делать скрипты меньшего размера.

Ошибка 500 на сайте, созданном на WordPress

WordPress предлагает много плагинов для создания хорошего сайта. Они значительно расширяют возможности CMS. Однако они же могут нарушать работу сайта и вызывать ошибку 500. Вызвать ошибку могут как недавно установленные плагины, так и старые.

Для начала проверьте, нужно ли обновить плагины. Часто устаревшие плагины перестают работать и вызывают проблемы работы сайта. Если все плагины обновлены, но 500 Internal Server Error остаётся, отключите все плагины, чтобы убедиться, что именно они мешают работе сайта. Как только станет понятно, что виноват один из плагинов, отключайте их по очереди, пока не найдёте тот, который нарушает работу сервера.


Как отключить плагин в WordPress

  1. 1.

  2. 2.

    Перейдите во вкладку «Плагины» ― «Установленные».

  3. 3.

    Нажмите Деактивировать у плагина, который, как вам кажется, повлиял на работу сайта:

Если все ваши действия не решили проблему или вы не уверены в своих технических знаниях, обратитесь к службе технической поддержки. Сообщите время обнаружения проблемы и опишите все действия, которые вы предприняли перед обращением. Специалисты сделают детальную проверку настроек вашего сайта и при необходимости обратятся к администраторам сервера на стороне хостинг-провайдера.

I build a CMS with PHP that has a gallery feature where you could select multiple images and upload it to the server. For the upload of the images i’m using a plugin called File-up, https://shabuninil.github.io/fileup/ , which lets you upload files to the server with ajax-requests. When multiple images are selected this plugin sends 1 (one) image per request, so if you select 5 images the plugin will send 5 ajax-requests to the server. On the server there is a script that takes the image sent by the plugin, it validates the image and moves it to a specific folder with the move_uploaded_file function.The issue is that somehow I get a 500 Error to some requests of the plugin. I’ve tried different posts about the 500 error posted here, stackoverflow.com, in order to fix the issue but with no success. I thought that maybe the server was getting too many requests at once from the plugin so I implemented Jquery’s setTimeout() function with 5 seconds, but still no success.

I even thought that maybe the CMS had some bugs or something so I tested the CMS by placing it on another server at co.nf but on that server I didn’t get any errors, everything worked fine, so if I’m right the issue is on the original server. I’m out of ideas, so, can anyone help me out? Thanks in advance!

The function that places the image into a specific folder, in this case the “upload” folder:

// Be sure we're dealing with an upload
if (is_uploaded_file($_FILES['filedata']['tmp_name']) === false) {
    throw new Exception('Error on upload: invalid file definition');
}

// Rename uploaded file
$uploadName = $_FILES['filedata']['name'];
$ext        = strtolower(substr($uploadName, strripos($uploadName, '.') + 1));
$filename   = round(microtime(true)) . mt_rand() . '.' . $ext;
$target_dir = "../uploads/" . $filename;

if (move_uploaded_file($_FILES['filedata']['tmp_name'], $target_dir)) {
// Save filename into db
}

Image of the ajax-requests and their errors:

Error in the server’s error file:

[Mon Nov 20 01:17:44 2017] [error] [client IP_ADDRESS ] [client IP_ADDRESS] 
ModSecurity: Warning. Match of "eq 0" against "MULTIPART_UNMATCHED_BOUNDARY" 
required. [file "/services/mod_security-rules/00_asl_zz_strict.conf"] [line 
"37"] [id "330792"] [rev "2"] [msg "Multipart parser detected a possible 
unmatched boundary. This may be an impedence mismatch attack, a broken 
application or a broken connection.  This is not a false positive.  Check 
your application or client for errors."] [severity "NOTICE"] [tag "no_ar"]  
[hostname "MY_HOST"] [uri "/MY_SITE/cms/pages/upload.php"]

I build a CMS with PHP that has a gallery feature where you could select multiple images and upload it to the server. For the upload of the images i’m using a plugin called File-up, https://shabuninil.github.io/fileup/ , which lets you upload files to the server with ajax-requests. When multiple images are selected this plugin sends 1 (one) image per request, so if you select 5 images the plugin will send 5 ajax-requests to the server. On the server there is a script that takes the image sent by the plugin, it validates the image and moves it to a specific folder with the move_uploaded_file function.The issue is that somehow I get a 500 Error to some requests of the plugin. I’ve tried different posts about the 500 error posted here, stackoverflow.com, in order to fix the issue but with no success. I thought that maybe the server was getting too many requests at once from the plugin so I implemented Jquery’s setTimeout() function with 5 seconds, but still no success.

I even thought that maybe the CMS had some bugs or something so I tested the CMS by placing it on another server at co.nf but on that server I didn’t get any errors, everything worked fine, so if I’m right the issue is on the original server. I’m out of ideas, so, can anyone help me out? Thanks in advance!

The function that places the image into a specific folder, in this case the “upload” folder:

// Be sure we're dealing with an upload
if (is_uploaded_file($_FILES['filedata']['tmp_name']) === false) {
    throw new Exception('Error on upload: invalid file definition');
}

// Rename uploaded file
$uploadName = $_FILES['filedata']['name'];
$ext        = strtolower(substr($uploadName, strripos($uploadName, '.') + 1));
$filename   = round(microtime(true)) . mt_rand() . '.' . $ext;
$target_dir = "../uploads/" . $filename;

if (move_uploaded_file($_FILES['filedata']['tmp_name'], $target_dir)) {
// Save filename into db
}

Image of the ajax-requests and their errors:

Error in the server’s error file:

[Mon Nov 20 01:17:44 2017] [error] [client IP_ADDRESS ] [client IP_ADDRESS] 
ModSecurity: Warning. Match of "eq 0" against "MULTIPART_UNMATCHED_BOUNDARY" 
required. [file "/services/mod_security-rules/00_asl_zz_strict.conf"] [line 
"37"] [id "330792"] [rev "2"] [msg "Multipart parser detected a possible 
unmatched boundary. This may be an impedence mismatch attack, a broken 
application or a broken connection.  This is not a false positive.  Check 
your application or client for errors."] [severity "NOTICE"] [tag "no_ar"]  
[hostname "MY_HOST"] [uri "/MY_SITE/cms/pages/upload.php"]

virtuemart.su

Данный сайт существует с 2012 года. Прошло много времени и нужно двигаться дальше.
Все материалы по-прежнему будут доступны, но я (admin) не смогу больше ответить на ваши вопросы в комментариях и на форуме.
Покупатели шаблонов смогут как и раньше получить поддержку на закрытом форуме.

  • Войти
  • Зарегистрироваться
  • В этой теме 10 ответов, 3 участника, последнее обновление 21.12.2015 в 14:57 сделано adminadmin.

Просмотр 11 сообщений — с 1 по 11 (из 11 всего)

  • Автор

    Сообщения

  • 05.12.2015 в 12:31

    #82868

    Здравствуйте.
    Есть такая проблемка. Хостинг Ру-центра, на нём установлена Joomla 3.4.5 и VirtueMart 3.0.12.
    Создаю категории для товаров и хочу загрузить картинку. Выбираю изображение, нажимаю на кнопку Сохранить и получаю страницу — Ошибка 500.
    В логах ничего не вижу. Раньше загружалось всё хорошо. Потом было обновление автоматическое в админке джумлы. И вот сейчас не могу загрузить изображения. Права доступа на папки проверил, всё нормально.
    В товары картинки тоже не загружаются(((
    Подскажите, куда копать.

    05.12.2015 в 15:16

    #89862

    admin
    admin

    Хранитель

    • Сообщений: 13828

    Скорее всего какая-то проблема в файле .htaccess http://www.jino.ru/help/faq/problems/error-500/

    05.12.2015 в 15:59

    #89863

    Есть файл htaccess.txt в корневой директории сайта. Больше его нет нигде. Подскажите, если не сложно, где он должен располагаться, его содержимое и значение.

    06.12.2015 в 13:35

    #89878

    admin
    admin

    Хранитель

    • Сообщений: 13828

    Попробуйте переименовать htaccess.txt в .htaccess
    Если не поможет, то обратитесь в тех.поддержку хостера.

    06.12.2015 в 16:10

    #89882

    Уже сделал это. Но результата это не принесло. Хостер сказал, что может только резервную копию сайта вернуть на определённую дату. Но какой смысл в этом, я там почти месяц ничего не менял. Откуда взялась эта проблема не пойму.

    07.12.2015 в 15:06

    #89904

    admin
    admin

    Хранитель

    • Сообщений: 13828

    Может быть попробовать поверх установленной версии vm заново поставить vm 3.0.12?

    17.12.2015 в 23:57

    #90123

    Попробовал все предложенные варианты, ничего не помогло.
    Хостинг Ру-центра

    18.12.2015 в 15:07

    #90131

    admin
    admin

    Хранитель

    • Сообщений: 13828

    А через Материалы > Медиа менеджер получается картинки загрузить?

    18.12.2015 в 17:17

    #90137

    да загружает, в товары тоже загружает. Проблема только с добавлением фото к категории.
    VM тоже установил заново последнюю версию.

    19.12.2015 в 08:57

    #90144

    Обратился в службу поддержки ru-center

    указанная Вами ошибка не фиксируется в логах веб-сервера, то есть она генерируется скриптами Вашего сайта. Для устранения данной ошибки рекомендуем Вам обратиться к разработчику Вашего сайта.

    21.12.2015 в 14:57

    #90187

    admin
    admin

    Хранитель

    • Сообщений: 13828

    Проблема решилась подключением php модуля Exif на хостинге.

  • Автор

    Сообщения

Просмотр 11 сообщений — с 1 по 11 (из 11 всего)

Для ответа в этой теме необходимо авторизоваться.

Ситуация: после переезда на новый хостинг, все страницы грузятся, админ панель работает. После создания нового материала (статья с текстом и картинкой в поле body) и публикованием статьи на главной, уменьшенное изображение для тизера (которое должен генерировать модуль teaser_image, выдёргивая из поля body первую картинку и уменьшая её по установленному пресету) не показывается, при просмотре расширением firebug для firefox, показывает ошибку 500 для этой картинки. Также если напрямую ввести картинку в браузер, ошибка 500, при этом ранее опубликованные картинки в этой же папке загружаются. Более того, если попытаться загрузить в браузере саму папку, тоже ошибка 500, даже если не существующую папку, тоже ошибка 500 (вместо 404).

Всё это актуально для папок после папки files и выдаёт ошибку 500, например:
domen.ru/sites/default/files/styles/thumbnail/public/images/новая_картинка.jpg
domen.ru/sites/default/files/styles/thumbnail/public/images
domen.ru/sites/default/files/styles/thumbnail/public
domen.ru/sites/default/files/styles/thumbnail
domen.ru/sites/default/files/styles
domen.ru/sites/default/files
domen.ru/sites/default/files/555555

Если же пробовать адреса:
domen.ru/sites/default/ (403)
domen.ru/sites/default/555555 (404)

Впечатление такое, что заданная директория по умолчанию в /admin/config/media/file-system, Общедоступный путь файловой системы: sites/default/files
не совсем корректно обрабатывается…

Подскажите, как это исправить, куда смотреть, что попробовать предпринять для лечения сайта???

  • Drupal7
  • Есть вопрос
  • Решение проблем

Недавно ко мне обратились из компании, занимающейся созданием сайтов, за консультацией. Были жалобы на нестабильную работу сайта. Нестабильность заключалась в том, что при сохранении публикации сайт вешался. Решение проблемы, когда возникает ошибка 500, я напишу далее. Я представлю как универсальные методы решения проблемы, которые помогут владельцам сайтов с любыми системами управления, так и направленные на решение проблемы пользователей WordPress.

Почему возникает ошибка 500(Internal Server Error)?

  • Проблема в файле .htaccess;
  • Некорректная работа с CGI скриптами;
  • Нехватка памяти;
  • Нехватка времени выполнения скрипта;
  • Некорректная работа плагинов;
  • Повреждение файлов.

Решение проблемы с файлом .htaccess:

Самой распространенной проблемой возникновения ошибки 500(Внутренняя ошибка сервера) является наличие в файле .htaccess команд, которые не поддерживаются сервером, либо просто неверный синтаксис команд.

Решение проблемы некорректной работа с CGI скриптами:

  • Скрипты формируют неверные заголовки и необходимо смотреть логи, которые доступны из панели управления хостингом в разделе «Статистика»;
  • Скрипты необходимо загружать на сервер по FTP  в режиме ASCII, чтобы окончания строк в скриптах были в формате UNIX — n, а не в формате Windows — nr;
  • Скрипты и папки должны быть доступны для записи только владельцу, то есть необходимо выставить права — 0755 (drwxr-xr-x).

Решение проблемы нехватки памяти:

Иногда проблема может возникать, если вы превышаете лимит выделенной памяти(PHP memory limit).

Если у вас возникает ошибка 500 при переходе в админку, при загрузке изображения или при публикации записи, то скорее всего вам поможет увеличение лимита памяти доступной PHP. Это можно сделать отредактировав существующий файл php.ini(посмотреть где он находится можно с помощью функции phpinfo(), строка — Loaded Configuration File), либо создав свой файл в корне сайта(для пользователей WordPress в wp-admin).

В php.ini необходимо написать / исправить строку: ;

memory = 64MB

Владельцы WordPress могут поступить более удобным для них образом — открыть файл wp-config.php, который лежит в корне сайта, и добавить туда следующую строку:

define('WP_MEMORY_LIMIT', '64M');

В действительности, решение проблемы таким образом скорее всего временное, так как какой-то процесс забивает память и в будущем это может произойти снова. Поэтому я рекомендую провести анализа логов, чтобы понять, из-за чего именно возникает ошибка 500.

Решение проблемы нехватки времени выполнения скрипта:

Так же, как в случае с памятью, у вас может возникнуть ситуация, когда скрипт просто не успел отработать за то время, которое ему для этого отводится. По умолчанию время выполнения скрипта ограничивается 30-ю секундами. Способы увеличения лимита далее.

Аналогично предыдущему методу работаем с php.ini:

max_execution_time = 60

Использование функции PHP — можно написать следующий код вначале какого-либо PHP файла, который запускается при возникновении проблемы(например в index.php):

ini_set( 'max_execution_time', 60 ); // 60 секунд

Работа с .htaccess:

php_value max_execution_time 60

Пользователи WordPress могут использовать плагин — WP Maximum Execution Time Exceeded.

Решение проблемы с помощью отключения плагинов:

Бывает так, что ошибка 500 возникает из-за того, что в самом плагине / модуле существует какая-либо ошибка, чаще логическая, которая приводит к негативным последствиям. Выявить «испорченный» плагин можно таким способом:

  • Отключите все плагины;
  • Включите первый плагин, который до этого работал вместе со всеми;
  • Производите действия, которые ранее приводили к ошибке;
  • Если ошибка не возникает, отключайте этот плагин и включайте следующий и т.д. пока не выявите «брак».

Если вы пользователь WordpPress и не можете зайти в админку, так как возникает ошибка 500, зайдите на сервер по FTP и переименуйте папку wp-content/plugins, в этом случае плагины автоматически отключатся, когда вы в следующий раз обратитесь к админке и если проблема была в каком-то из них, то вы войдете в админку. Далее надо будет обратно переименовать папку plugins и работать по вышеуказанной схеме.

Решение проблемы с повреждением файлов:

Если ни один из перечисленных способов до сих пор не помог решить проблему, попробуйте перезалить дистрибутив системы. Если речь идет о WordPress, то скачайте архив, распакуйте его и перебросьте файлы на сервер, либо залейте на сервер архив и распакуйте его там с заменой файлов. Вероятно какой-то из файлов системы мог быть поврежден.

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

Что делать, если ничего не помогло?

Если ничего из вышеперечисленного не помогло, это значит, что вам все же придется либо самому, либо с помощью техподдержки хостинга анализировать логи и искать проблему более тщательно. Либо можно обратиться за помощью к профессионалам.

Post Views: 1 268

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка 500 при входе на сайт
  • Ошибка 5004 ворлд оф танкс