https://blog.superhosting.bg/internal-server-error-500.html

Натиснете ENTER, за да видите резултатите или ESC за изход.

Блог на SuperHosting.BG

3 съвета за справяне с Internal Server Error 500

2016-09-14
Съвети от support-a
htaccess, internal, internal server error, error 500, cron, права файлове, права директории, CGI, Fast CGI
Internal Server Error 500

В пика на лятото всички търсим как да се спасим от горещините чрез басейни, планините или любимото моренце…

В следващите редове, обаче, техническият екип на нашата хостинг компания ще ви даде няколко други и малко по-про “спасителни трика”. 🙂

В тази публикация на “Съвети от support- a” ще намерите 3 съвета как да се справите, когато вместо страницата, която очаквате да видите, на екрана се изпише следното:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.Please contact the server administrator, webmaster@vashiat-domain.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.More information about this error may be available in the server error log.
Как да разберем каква е причината за грешката?

Най-често срещаните причини за Internal Server Error 500 са 3:

Некоректни права на файлове и директории

По подразбиране конфигурацията на php на сървърите ни за споделен хостинг е CGI (Common Gateway Interface) или FastCGI.

Коректните права на файловете и директориите са както следва:

  • Директории – 755
  • Файлове – 644

При получаване на съобщение Error 500 можете да намерите информация в контролния панел в меню “Error log”.

В случай, че правата на файл не са коректни ще видите подобно съобщение:

[2012-07-12 12:21:47]: error: file is writable by others: (/home/username/public_html/pyt_do_faila/fail.php).

Ако са зададени некоректни права на директория, то съобщението е подобно:

[2012-07-12 12:20:53]: error: directory is writable by others: (/home/username/public_html/pyt_do_directoria).

Можете да редактирате правата чрез файловия мениджър или FTP клиент.

Извършена редакция и обновяване на 17 юли 2014г.:

За всички предлагани Linux хостинг планове и Managed VPS от СуперХостинг.БГ е разработено специално меню Fix Permissions by SuperHosting в контролния панел cPanel.

Fix Permissions by SuperHosting можете да използвате за редакция на правата на голям брой файлове и директории. Ще можете да изберете редакция на правата за целия хостинг акаунт или за определена директория.

Задаване на коректни права на файлове и директории можете да извършите и със скрипт.

Примерен скрипт за коригиране на права можете да намерите на нашата помощна тук.

Некоректни директиви в .htaccess файл

Ако при записване на правила в .htaccess файл бъде допусната синтактична или правописна грешка, то съответното правило не може да бъде обработено и се получава грешка Error 500. Информация отново можете да намерите в меню “Error log” в cPanel, като съобщението е подобно:

[Thu July 07 12:48:54 2012] [alert] [client XXX.XXX.XXX.XXX] /home/username/public_html/.htaccess: Invalid command ‘RewriteEngineOn’, perhaps misspelled or defined by a module not included in the server configuration

В примера по-горе е грешката е, че е написано слято “RewriteEngineOn”, което не е коректно. Коректното изписване е: RewriteEngine On

Скрипт се изпълнява повече от 60 секунди при 100% използване на процесор

На сървърите ни за споделен хостинг има зададена стандартна настройка за максимално време за изпълнение на даден скрипт при 100% използване на един процесор. Това време е 60 секунди и е зададено с цел защита от изпълнение на некоректни скриптове (например безкраен цикъл). В много редки случаи е възможно да се получи грешка Error 500 при upgarde на различни CMS-и, импорт и/или експорт на големи обеми информация или други, т.е. в операции, които са по-ресурсоемки.

Тази настройка е различна от PHP директивата max_execution_time, чрез която се оказва колко време да се изпълнява скрипт от PHP интерпретатора. Скриптът не е задължително да изразходва 100% CPU по време на изпълнението си.

Имайки предвид, че оптималното време за изпълнение на скрипт е милисекудни, то 60 секунди са напълно достатъчни за коректната работа на 99,99% от приложенията. Ако се изпълнява, обаче, по-тежка операция и/или някой скрипт изисква повече време за изпълнение, е възможно да се получи грешка Error 500.

В този случай НЕ е налична информация в меню “Error log” в контролния панел. Можете да разпознаете, обаче, каква е причината за грешката, тъй като тя не се получава веднага, а има известно изчакване (в рамките на секунди).

Удачен вариант е да се стартира скрипта, на който е необходимо повече време, чрез cron задача (cron jobs). Подробна информация относно настройки и употреба на cron задачите, можете да откриете на нашата помощна страница тук.

Съвети от съпорта:
  • Следете логовете за грешки, за да можете да ги отстранявате своевременно!
  • Обърнете внимание на скриптовете, които се изпълняват и оптимизирайте при необходимост операциите и времето за изпълнение!
  • За по-приятно лятно изживяване – четете блога ни от плажа! 🙂

СуперХостинг.БГ

СуперХостинг.БГ е СуперЕкипът! Ежедневно всеки дава най-доброто от себе си, за да можете вие, клиентите на СуперХостинг.БГ, да сте номер едно. СуперСилата на СуперЕкипа е, че винаги е готов да ви даде точната информация, тази от която се нуждаете и за която питате.

500px270px
SuperHosting.BG

Препоръчани статии

Оставете коментар

7 Коментара към "3 съвета за справяне с Internal Server Error 500"

Уведоми ме при
avatar

Митко
Гост
Митко
31 август 2015 15:11

Има ли значение и процесора като хардуер освен PHP настройката?

smixe
Гост
16 април 2013 18:34

при мене помогна смяната от FastCGI na CGI …

trackback
28 август 2012 12:46

[…] 1. Некоректни права на файлове и директории; 2. Некоректни директиви в .htaccess файл; 3. Скрипт се изпълнява повече от 60 секунди при 100% използване на процесор; […]

Кирил Йовев
Гост
21 юли 2012 11:21

Впрочем при CMS-ите много често хората деинсталират част от софтуера, от което се получава грешката. При това положение аз ползвам header location , за да пренасоча невалидните адреси там, където искам.

wpDiscuz