Expected behaviour
Be able to connect / use Nextcloud
Actual behaviour
Can’t get to webplatform nor sync clients
Server configuration
Operating system: Ubuntu 18.04
Database: Mysql / Maria db
PHP version: 7.2
Nextcloud version: (see Nextcloud admin page) 13.05.2
**Updated from an older Nextcloud/ownCloud or fresh install:Updated
Where did you install Nextcloud from: originally from Techandme
Login as admin user into your Nextcloud and access
http://example.com/index.php/settings/integrity/failed
paste the results here.
Blank Page (500 error)
</details>
**List of activated apps:**
<details>
<summary>App list</summary>
If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
Getting error on use of occ commands
root@dnscloud:/var/www/nextcloud# sudo -u www-data php occ app:list
An unhandled exception has been thrown:
Doctrine\DBAL\DBALException: Failed to connect to the database: An exception occured in driver: could not find driver in /var/www/nextcloud/lib/private/DB/Connection.php:64
Stack trace:
#0 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): OC\DB\Connection->connect()
#1 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\DBAL\Connection->getDatabasePlatformVersion()
#2 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(328): Doctrine\DBAL\Connection->detectDatabasePlatform()
#3 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(623): Doctrine\DBAL\Connection->getDatabasePlatform()
#4 /var/www/nextcloud/lib/private/DB/Connection.php(151): Doctrine\DBAL\Connection->setTransactionIsolation(2)
#5 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php(172): OC\DB\Connection->__construct(Array, Object(Doctrine\DBAL\Driver\PDOMySql\Driver), Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#6 /var/www/nextcloud/lib/private/DB/ConnectionFactory.php(152): Doctrine\DBAL\DriverManager::getConnection(Array, Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#7 /var/www/nextcloud/lib/private/Server.php(628): OC\DB\ConnectionFactory->getConnection(‘mysql’, Array)
#8 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC{closure}(Object(OC\Server))
#9 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet(‘OCP\IDBConnecti…’)
#10 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query(‘OCP\IDBConnecti…’)
#11 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(164): OC\ServerContainer->query(‘OCP\IDBConnecti…’)
#12 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(109): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}(Object(OC\Server))
#13 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet(‘DatabaseConnect…’)
#14 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query(‘DatabaseConnect…’)
#15 /var/www/nextcloud/lib/private/Server.php(1511): OC\ServerContainer->query(‘DatabaseConnect…’)
#16 /var/www/nextcloud/lib/private/Server.php(332): OC\Server->getDatabaseConnection()
#17 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC{closure}(Object(OC\Server))
#18 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet(‘OC\Authenticati…’)
#19 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query(‘OC\Authenticati…’)
#20 /var/www/nextcloud/lib/private/Server.php(336): OC\ServerContainer->query(‘OC\Authenticati…’)
#21 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC{closure}(Object(OC\Server))
#22 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet(‘OC\Authenticati…’)
#23 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query(‘OC\Authenticati…’)
#24 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(164): OC\ServerContainer->query(‘OC\Authenticati…’)
#25 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(109): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}(Object(OC\Server))
#26 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet(‘OC\Authenticati…’)
#27 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query(‘OC\Authenticati…’)
#28 /var/www/nextcloud/lib/private/Server.php(352): OC\ServerContainer->query(‘OC\Authenticati…’)
#29 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC{closure}(Object(OC\Server))
#30 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet(‘OCP\IUserSessio…’)
#31 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query(‘OCP\IUserSessio…’)
#32 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(164): OC\ServerContainer->query(‘OCP\IUserSessio…’)
#33 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(109): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}(Object(OC\Server))
#34 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet(‘UserSession’)
#35 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query(‘UserSession’)
#36 /var/www/nextcloud/lib/private/Server.php(1380): OC\ServerContainer->query(‘UserSession’)
#37 /var/www/nextcloud/lib/private/Server.php(688): OC\Server->getUserSession()
#38 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC{closure}(Object(OC\Server))
#39 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet(‘OC\App\AppManag…’)
#40 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query(‘OC\App\AppManag…’)
#41 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(164): OC\ServerContainer->query(‘OC\App\AppManag…’)
#42 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(109): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}(Object(OC\Server))
#43 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet(‘AppManager’)
#44 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query(‘AppManager’)
#45 /var/www/nextcloud/lib/private/Server.php(1684): OC\ServerContainer->query(‘AppManager’)
#46 /var/www/nextcloud/lib/private/legacy/app.php(332): OC\Server->getAppManager()
#47 /var/www/nextcloud/lib/private/legacy/app.php(113): OC_App::getEnabledApps()
#48 /var/www/nextcloud/lib/base.php(662): OC_App::loadApps(Array)
#49 /var/www/nextcloud/lib/base.php(1081): OC::init()
#50 /var/www/nextcloud/console.php(46): require_once(‘/var/www/nextcl…’)
#51 /var/www/nextcloud/occ(11): require_once(‘/var/www/nextcl…’)
#52 {main}root@dnscloud:/var/www/nextcloud#
</details>
**Nextcloud configuration:**
<details>
<summary>Config report</summary>
If you have access to your command line run e.g.:
Error on occ commands
or
»,
‘secret’ => »,
‘trusted_domains’ =>
array (
0 => ‘localhost’,
1 => ‘192.168.1.110’,
2 => ‘dnscloud.dnsolutions.pt’,
3 => ‘office.dnscloud.dtdns.net’,
),
‘datadirectory’ => ‘/DNSCloud’,
‘overwrite.cli.url’ => ‘https://dnscloud.dnsolutions.pt/’,
‘dbtype’ => ‘mysql’,
‘version’ => ‘13.0.5.2’,
‘dbname’ => ‘nextcloud_db’,
‘dbhost’ => ‘root’,
‘dbport’ => »,
‘dbtableprefix’ => ‘oc_’,
‘mysql.utf8mb4’ => true,
‘dbuser’ => ‘root’,
‘dbpassword’ => »,
‘installed’ => true,
‘instanceid’ => ‘ocmnpoor4wsx’,
‘maintenance’ => false,
‘mail_smtpmode’ => ‘smtp’,
‘log_rotate_size’ => ‘10485760’,
‘memcache.local’ => ‘\\OC\\Memcache\\Redis’,
‘filelocking.enabled’ => false,
‘memcache.distributed’ => ‘\\OC\\Memcache\\Redis’,
‘memcache.locking’ => ‘\\OC\\Memcache\\Redis’,
‘redis’ =>
array (
‘host’ => ‘/var/run/redis/redis.sock’,
‘port’ => 0,
‘timeout’ => 0,
‘dbindex’ => 0,
‘password’ => »,
),
‘htaccess.RewriteBase’ => ‘/’,
‘loglevel’ => ‘2’,
‘log_type’ => ‘file’,
‘logfile’ => ‘/DNSCloud/’,
‘logtimezone’ => ‘Atlantic/Madeira’,
‘mail_from_address’ => ‘online’,
‘mail_smtpauthtype’ => ‘PLAIN’,
‘mail_domain’ => »,
‘mail_smtphost’ => »,
‘mail_smtpport’ => »,
‘theme’ => »,
);
**Are you using external storage, if yes which one:** local/smb/sftp/…: No
**Are you using encryption:** yes/no: No (tryed to unencrypt all the files)
**Are you using an external user-backend, if yes which one:** LDAP/ActiveDirectory/Webdav/… NO
### Client configuration
**Browser:**
Firefox, Chrome, Edge
**Operating system:**
Windows 10
### Logs
#### Web server error log
Web server error log
«`
Insert your webserver log
[kern.log](https://github.com/nextcloud/server/files/2314207/kern.log)
«`
#### Nextcloud log (data/nextcloud.log)
Nextcloud log
«`
Insert your Nextcloud log here
«`
#### Browser log
[nextcloud1.log](https://github.com/nextcloud/server/files/2314204/nextcloud1.log)
More Info (PHP INFO)
https://dnscloud.dnsolutions.pt/phpinfo.php
Пользователи интернета и владельцы сайтов периодически сталкиваются с различными ошибками на веб-страницах. Одной из самых распространенных ошибок является error 500 (ошибка 500). Поговорим в нашей статье о том, что это за ошибка и как ее исправить.
Где и когда можно встретить ошибку 500
Вы можете увидеть ошибку на любом веб-ресурсе, браузере и устройстве. Она не связана с отсутствием интернет-соединения, устаревшей версией операционной системы или браузера. Кроме того, эта ошибка не указывает на то, что сайта не существует или он больше не работает.
Ошибка 500 говорит о том, что сервер не может обработать запрос к сайту, на странице которого вы находитесь. При этом браузер не может точно сообщить, что именно пошло не так.
Отображаться ошибка может по-разному. Вот пример:
Если вы решили купить что-то в любимом интернет-магазине, но увидели на сайте ошибку 500, не стоит сильно огорчаться – она лишь сообщает о том, что вам нужно подождать, пока она будет исправлена.
Если ошибка появилась на вашем сайте, то нужно скорее ее исправлять. Далее я расскажу, как это можно сделать.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Как ошибка 500 влияет на SEO-продвижение
Наличие ошибки 500 напрямую влияет на продвижение сайта, ведь когда страница недоступна, это говорит о неисправностях на сайте. А если на веб-ресурсе есть что-то неладное, то это сразу звоночек для поисковых роботов. Когда они сканируют страницу и видят, что она недоступна, это негативно сказывается на всем сайте. Однако здесь важно понимать, что свое конечное решение роботы выставляют не сразу. После первого неудачного сканирования они повторно посещают страницу и проверяют, исчезла ли проблема.
Если вы исправите ошибку 500 в течение суток, то никаких проблем с SEO-продвижением случиться не должно. В противном случае либо сайт может снизиться в позициях, либо проблемные страницы исчезнут из результатов поиска. Как правило, происходит и первое, и второе.
Таким образом, чтобы минимизировать негативное влияние ошибки 500 на SEO-продвижение, необходимо следить за состоянием сервера и немедленно исправлять проблемы. Регулярный мониторинг поможет сохранить сайт доступным и улучшить его производительность и позиции в результатах поиска.
Проверить доступность страниц в поисковых системах вы можете с помощью инструментов Google Search Console и Яндекс Вебмастер.
Причины возникновения ошибки
Итак, ошибка 500 возникает, когда серверу не удается обработать запрос к сайту. Из-за этого пользователи не могут попасть на сайт, а поисковые системы полноценно с ним работать. Очевидно, что ошибка нуждается в исправлении. В первую очередь необходимо найти проблему.
Основной причиной ошибки 500 может быть:
- Неверный синтаксис файла .htaccess. htaccess – это файл, в котором можно задавать настройки для работы с веб-сервером Apache и вносить изменения в работу сайта (управлять различными перенаправлениями, правами доступа к файлам, опциями PHP, задавать собственные страницы ошибок и т.д.).
Узнать больше о файле .htaccess можно в статье «Создание и настройка .htaccess». - Ошибки в скриптах сайта, то есть сценариях, созданных для автоматического выполнения задач или для расширения функционала сайта.
- Нехватка оперативной памяти при выполнении скрипта.
- Ошибки в коде CMS, системы управления содержимым сайта. В 80% случаев виноваты конфликтующие плагины.
Год хостинга в подарок при заказе лицензии 1С-Битрикс
Выбирайте надежную CMS с регулярными обновлениями системы и профессиональной поддержкой.
Заказать
Как получить больше данных о причине ошибки
Что означает ошибка 500, мы теперь знаем. Когда она перестала быть таким загадочным персонажем, не страшно копнуть глубже — научиться определять причину ошибки. В некоторых случаях это можно сделать самостоятельно, так что обращаться за помощью к профильному специалисту не понадобится.
Отображение ошибки бывает разным. Ее внешний облик зависит от того, чем она вызвана.
Самые частые причины ошибки 500 можно распознать по тексту ошибки или внешнему виду страницы.
- Сообщение Internal Server Error говорит о том, что есть проблемы с файлом .htaccess (например, виновата некорректная настройка файла). Убедиться, что .htaccess является корнем проблемы, поможет следующий прием: переименуйте файл .htaccess, добавив единицу в конце названия. Это можно сделать с помощью FTP-клиента (например, FileZilla) или файлового менеджера на вашем хостинге (в Timeweb такой есть, с ним довольно удобно работать). После изменения проверьте доступность сайта. Если ошибка больше не наблюдается, вы нашли причину.
- Сообщение HTTP ERROR 500 или пустая страница говорит о проблемах со скриптами сайта. В случае с пустой страницей стоит учесть, что отсутствие содержимого сайта не всегда указывает на внутреннюю ошибку сервера 500.
Давайте узнаем, что скрывается за пустой страницей, обратившись к инструментам разработчика. Эта браузерная панель позволяет получить информацию об ошибках и другие данные (время загрузки страницы, html-элементы и т.д.).
Как открыть панель разработчика
- Нажмите клавишу F12 (способ актуален для большинства браузеров на Windows). Используйте сочетание клавиш Cmd+Opt+J, если используете Google Chrome на macOS. Или примените комбинацию Cmd+Opt+C в случае Safari на macOS (но перед этим включите «Меню разработки» в разделе «Настройки» -> «Продвинутые»). Открыть инструменты разработчика также можно, если кликнуть правой кнопкой мыши в любом месте веб-страницы и выбрать «Просмотреть код» в контекстном меню.
- Откройте вкладку «Сеть» (или «Network») и взгляните на число в поле «Статус». Код ответа об ошибке 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.
При чтении логов обратите внимание на путь, который следует за сообщением об ошибке, ведь он может указать на проблемную часть кода или плагин. Если проблема в плагине, для восстановления работы сайта переименуйте на время папку, в которой он расположен. Попробуйте обновить плагин или откатить его до прежней версии. Если ситуацию не удается исправить, от расширения стоит отказаться либо заменить его аналогом.
Также в большинстве случаев подобные проблемы помогает решить поддержка CMS.
Информацию о других распространенных ошибках вы можете найти в статье «6 наиболее часто возникающих ошибок HTTP и способы их устранения».
Что делать, если вы пользователь
Если при посещении стороннего сайта вы столкнулись с ошибкой 500, не переживайте – вина тут лежит на стороне администратора ресурса. Здесь важно понимать, что проблема может быть кратковременной, например, из-за перегрузки сайта. В таких случаях будет достаточно просто перезагрузить страницу: сделать это можно с помощью соответствующей кнопки в браузере или клавиши F5.
Обратите внимание, что при обновлении страницы интернет-магазина могут дублироваться заказы. Например, если ошибка 500 возникает при оформлении заказа, то после перезагрузки количество товаров может удвоиться. Такое происходит редко, но помнить об этом стоит, чтобы избежать лишних покупок.
Также может быть и такое: например, вы зашли на страницу, она выдала ошибку 500, через некоторое время ее исправили специалисты, но проблема у вас осталась. Чаще всего это связано с тем, что в браузере остались старые cookie-файлы или кеш. Исправить это просто – достаточно очистить данные составляющие. Чтобы сделать это в браузере Google Chrome, необходимо нажать на троеточие в верхнем правом углу и перейти в настройки. Затем в поисковой строке ввести запрос «кеш» и нажать на кнопку «Очистить историю».
В отобразившемся окне вы можете выбрать временной диапазон. Это будет полезно, если вы хотите очищать не все данные, а только те, которые относятся к проблемному сайту.
В других браузерах очистка cookie-файлов и кеша выполняется примерно так же.
Если ни одно из вышерассмотренных действий не привело к успеху, то проблема точно на стороне администратора сайта. При желании вы можете найти его контактные данные и отправить запрос – спросить, когда будет решена проблема и с чем это связано.
Что бесполезно делать при Error 500
При ошибке 500 есть несколько вещей, которые могут быть бесполезными или непродуктивными:
- Повторные попытки обновления страницы. Вы можете сделать несколько попыток обновления страницы, надеясь, что ошибка исчезнет. Однако, если проблема связана с сервером, это не приведет к успеху.
- Перезагрузка компьютера. Ошибка 500 никак не связана с локальным компьютером, так как проблема кроется в оборудовании администратора сайта.
- Использование другого браузера. Это может помочь только в том случае, если проблема связана с кешем или cookie-файлами.
- Переустановка ПО и перезагрузка роутера. Подобные действия также не приведут к успеху.
Если вы владелец сайта, то лучше сделать так, чтобы у пользователя не возникала потребность осуществлять вышеперечисленные действия. Вы можете информировать об ошибке прямо на сайте – так человек сразу поймет, что проблема связана не с его оборудованием. Это поможет вам обеспечить качественный пользовательский опыт и поддержать хорошие показатели SEO.
Ошибка 500 на сайте, созданном на WordPress
На WordPress ошибка 500 чаще всего возникает из-за установленных плагинов – как старых, так и недавно загруженных. Первым делом проверьте, нуждаются ли устаревшие инструменты в обновлении. Если же расширения обновлены, но 500 Internal Server Error до сих пор есть, попробуйте отключить все плагины. В таком случае ошибка может исчезнуть – если это произошло, то виной всему один из установленных инструментов.
Для отключения расширений перейдите в панель управления WordPress и откройте вкладку «Плагины» –> «Установленные». В отобразившемся окне нажмите на кнопку «Деактивировать», которая расположения под названием плагина.
Постепенно отключая расширения, вы сможете найти «виновника», который вызывает ошибку 500. Если же проблема кроется не в этом, то лучше обратиться за помощью к квалифицированным специалистам.
Удачи!
В статье мы расскажем, как исправить ошибку (код состояния) 500 со стороны пользователя и администратора сайта, а также подробно разберём, что такое ошибка запроса 500.
Что такое внутренняя ошибка сервера 500
Код ошибки 5хх говорит о том, что браузер отправил запрос корректно, но сервер не смог его обработать. Что значит ошибка 500? Это проблема сервера, причину которой он не может распознать.
Сообщение об ошибке сопровождается описанием. Самые популярные варианты:
- Внутренняя ошибка сервера 500,
- Ошибка 500 Internal Server Error,
- Временная ошибка (500),
- Внутренняя ошибка сервера,
- 500 ошибка сервера,
- Внутренняя ошибка HTTP 500,
- Произошла непредвиденная ошибка,
- Ошибка 500,
- HTTP status 500 internal server error (перевод ― HTTP статус 500 внутренняя ошибка сервера).
Дизайн и описание ошибки 500 может быть любым, так как каждый владелец сайта может создать свою версию страницы. Например, так выглядит страница с ошибкой на Рег.ру:
Как ошибка 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». Проверьте, правильно ли они установлены, и при необходимости измените права на файлы и папки.
Запущено максимальное количество процессов
На тарифах виртуального хостинга Рег.ру установлены ограничения на количество одновременно запущенных процессов. Например, на тарифах линейки «Эконом» установлено ограничение в 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.
-
2.
Перейдите во вкладку «Плагины» ― «Установленные».
-
3.
Нажмите Деактивировать у плагина, который, как вам кажется, повлиял на работу сайта:
Если все ваши действия не решили проблему или вы не уверены в своих технических знаниях, обратитесь к службе технической поддержки. Сообщите время обнаружения проблемы и опишите все действия, которые вы предприняли перед обращением. Специалисты сделают детальную проверку настроек вашего сайта и при необходимости обратятся к администраторам сервера на стороне хостинг-провайдера.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊
👍
Hi,
Everything was working fine until I started updating the nextcloud apps. This has never happened to me before. I was updating an official nextcloud app(I don’t remember the name) and then everything just froze with «updating» and then page suddenly page refreshed automatically and I got an error. Now the thing is that there is no way to fix the problem as I can’t even log into my account. You can go the URL and it will ask for the user and password as usual but when you enter the credentials, it will give you the same error. I can’t reset my password as well because when I receive the password reset email and I click on the link, I get the same error. I tried updating the nextcloud server with occ but it’s saying that nextcloud is already at the latest version. So is there any way to fix this error?
Steps to reproduce
- Login
Expected behaviour
You should be logged in to the admin panel
Actual behaviour
You will be greeted with a HTTP ERROR 500
Server configuration
Operating system: Debian 8
Web server: NGINX
Database: MySQL
PHP version: 5
Nextcloud version: 13.0.2.1
Updated from an older Nextcloud/ownCloud or fresh install: Updated
List of activated apps:
I don’t remember all the apps but there were quite a few activated apps
If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your Nextcloud installation folder
Enabled:
- activity: 2.6.1
- admin_audit: 1.3.0
- admin_notifications: 1.0.1
- announcementcenter: 3.2.1
- apporder: 0.4.1
- audioplayer: 2.3.0
- bookmarks: 0.11.0
- bruteforcesettings: 1.0.3
- calendar: 1.6.1
- camerarawpreviews: 0.5.3
- circles: 0.13.6
- cms_pico: 0.9.7
- comments: 1.3.0
- dashboard: 4.0.6
- dav: 1.4.6
- dicomviewer: 0.0.6
- end_to_end_encryption: 1.0.5
- external: 3.0.2
- federatedfilesharing: 1.3.1
- federation: 1.3.0
- files: 1.8.0
- files_antivirus: 1.2.0
- files_downloadactivity: 1.2.0
- files_frommail: 0.1.0
- files_fulltextsearch: 0.7.2
- files_markdown: 2.0.4
- files_opds: 0.8.8
- files_pdfviewer: 1.2.1
- files_reader: 1.2.3
- files_retention: 1.2.0
- files_sharing: 1.5.0
- files_texteditor: 2.5.1
- files_trashbin: 1.3.0
- files_versions: 1.6.0
- files_videoplayer: 1.2.0
- firstrunwizard: 2.2.1
- flowupload: 0.0.7
- fulltextsearch: 0.6.1
- fulltextsearch_elasticsearch: 0.7.2
- gallery: 18.0.0
- groupfolders: 1.2.0
- impersonate: 1.0.4
- logreader: 2.0.0
- lookup_server_connector: 1.1.0
- lsd: 1.0.0
- mail: 0.7.10
- metadata: 0.6.0
- mood: 0.3.3
- music: 0.5.6
- nextcloud_announcements: 1.2.0
- notes: 2.3.2
- notifications: 2.1.2
- oauth2: 1.1.0
- ojsxc: 3.3.2
- onlyoffice: 1.3.0
- passman: 2.1.4
- password_policy: 1.3.0
- polls: 0.8.1
- provisioning_api: 1.3.0
- quicknotes: 0.1.3
- quota_warning: 1.2.0
- radio: 0.6.1
- rainloop: 5.0.6
- ransomware_protection: 1.1.0
- serverinfo: 1.3.0
- sharebymail: 1.3.0
- sociallogin: 1.5.2
- socialsharing_diaspora: 1.0.2
- socialsharing_email: 1.0.3
- socialsharing_facebook: 1.0.2
- socialsharing_googleplus: 1.0.2
- socialsharing_twitter: 1.0.2
- spreed: 3.2.0
- spreedme: 0.3.11
- survey_client: 1.1.0
- systemtags: 1.3.0
- tasks: 0.9.6
- theming: 1.4.1
- twofactor_backupcodes: 1.2.3
- twofactor_totp: 1.4.1
- twofactor_u2f: 1.5.1
- twofactor_yubikey: 0.3.0
- unsplash: 1.1.1
- updatenotification: 1.3.0
- user_usage_report: 1.0.1
- workflowengine: 1.3.0
Disabled: - encryption
- files_external
- user_external
- user_ldap
If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your Nextcloud installation folder
{
"system": {
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"cloud.thenoobstribe.ga"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"overwrite.cli.url": "https:\/\/cloud.thenoobstribe.ga",
"dbtype": "mysql",
"version": "13.0.2.1",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"maintenance": false,
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_smtpmode": "smtp",
"mail_smtpauthtype": "LOGIN",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtpauth": 1,
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "587",
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"mail_smtpsecure": "tls",
"theme": "",
"loglevel": 2
}
}
With access to your command line run e.g.:
sudo -u www-data php occ ldap:show-config
from within your Nextcloud installation folder
[Symfony\Component\Console\Exception\CommandNotFoundException]
There are no commands defined in the "ldap" namespace.
### Client configuration
**Browser:** Google Chrome, Firefox and Edge
**Operating system:** Windows 10
If you have a website or work in IT, you may have encountered the Cloudflare error 500, also known as the Internal Server Error. This error can be frustrating and confusing but don’t worry – with the right tools and knowledge, you can quickly resolve the issue and get your site up and running again.
In this article, we will provide a comprehensive guide to fixing Cloudflare error 500, including its causes, troubleshooting methods, and tips for preventing it from happening in the future. Whether you’re a website owner, developer, or IT professional, this guide will help you solve the issue quickly and efficiently.
Database Errors on your Site are the Most Common Cause
One of the most common causes of Cloudflare error 500 is database errors on your site. These errors can occur when there is a problem with your database connection, your database is overloaded, or there is a problem with your database configuration.
To fix this issue, you can try the following troubleshooting steps:
- Check your database connection and make sure it is configured correctly.
- Check your database for errors or issues.
- Optimize your database by removing unnecessary data or optimizing queries.
Troubleshoot the Problem by Pausing Cloudflare
Another troubleshooting step you can take is to pause Cloudflare and see if the error goes away. This can help you determine if the issue is with Cloudflare or your server.
To pause Cloudflare, follow these steps:
- Log in to your Cloudflare account.
- Go to your site’s dashboard.
- Click the “Overview” tab.
- Click the “Pause Cloudflare on Site” button.
If the error goes away when Cloudflare is paused, then the issue may be with Cloudflare. You can contact Cloudflare support for further assistance.
When to Contact Cloudflare for Error 500
If you’ve tried the above troubleshooting steps and are still experiencing Cloudflare error 500, it may be time to contact Cloudflare support for further assistance. You should contact Cloudflare if:
- The error persists even after pausing Cloudflare.
- You suspect that the issue is with Cloudflare.
- You need help with Cloudflare configuration.
Tips for Preventing Error 500: Internal Server Error on Cloudflare
Prevention is always better than cure, and there are several steps you can take to prevent Cloudflare error 500 from happening in the first place. Here are some tips:
Ensure that your Server Has Sufficient Resources
One common cause of Cloudflare error 500 is insufficient server resources. To prevent this, make sure your server has sufficient resources, including:
- RAM
- CPU
- Disk space
Maximize your Database Capacity
Optimizing your database can help prevent Cloudflare error 500. Here are some tips:
- Remove unnecessary data.
- Optimize queries.
- Increase your database capacity.
Set up Cloudflare Health Checks
Cloudflare Health Checks can help you detect and resolve issues before they affect your site visitors. Here’s how to set them up:
- Log in to your Cloudflare account.
- Go to your site’s dashboard.
- Click the “Health Checks” tab.
- Click the “Create Health Check” button.
- Enter the details for your health check, including the endpoint and frequency.
Cloudflare’s “Always Online” Will Give You Some Breathing Space
If you’re experiencing Cloudflare error 500, you can enable Cloudflare’s “Always Online” feature. This feature can help ensure that your site is still accessible even if your server is down.
To enable “Always Online,” follow these steps:
- Log into your Cloudflare account and select the domain you want to enable it on.
Go to the “Speed” tab and select “Optimization.”
Scroll down until you see the “Always Online” option and toggle it on.
Cloudflare’s “Always Online” feature can help mitigate the impact of temporary server outages by providing a cached version of your website. This can give you some breathing space to address any issues causing the error 500 and prevent visitors from experiencing extended downtime.
Bottom Line: Error 500 is Generic and Indicates a Server Issue
The Cloudflare error 500 is a common issue that website owners, developers, and IT professionals encounter. It indicates an internal server error that could be caused by various factors, including database errors, server overload, or outdated software. When you encounter the error 500, it’s essential to troubleshoot the problem by following the steps outlined above, including pausing Cloudflare, checking server resources, maximizing database capacity, setting up Cloudflare health checks, and enabling “Always Online.” By taking these steps, you can prevent error 500 from occurring and ensure that your website runs smoothly. Remember to monitor your site regularly to identify and address any issues that may arise.
note: Remember that while these steps can help fix the Cloudflare error 500, it’s crucial to identify and address the underlying issue causing the error. It may require the help of a web developer or IT professional.
Conclusion
if you’re experiencing the Cloudflare error 500, don’t panic! This article has provided you with a comprehensive troubleshooting guide to fix the error and get your website up and running smoothly. Remember that the error 500 is generic and indicates a server issue, and it could be caused by various factors, including database errors, server overload, or outdated software. The first step is to understand the cause of the error, and then follow the steps outlined above, including pausing Cloudflare, checking server resources, maximizing database capacity, setting up Cloudflare health checks, and enabling “Always Online.” These steps will help you mitigate the impact of the error and prevent extended downtime. Don’t forget to monitor your site regularly to identify and address any issues that may arise.