Любой файл .php, вызывающий ОШИБКУ ВНУТРЕННЕГО СЕРВЕРА

Внезапно все .php-файлы на моем сервере приводят к ошибке ERROR INTERNAL SERVER.

Я не знаю, связано ли это, но началось, когда я обновлял yum.

Ошибка даже в файлах .php. Я переместил ВСЕ содержимое своего сайта и попробовал только пустой .php-файл, и все же он дает ту же ошибку.

Также нет файлов .htaccess.

Что мне делать? знак равно

(Другие сайты на одном сервере работают нормально)

Журналы Apache и php, похоже, не обновляются. Последние Apache с сегодняшнего дня, но ничего не связано с этой проблемой. Последние версии PHP принадлежат APRIL

ОБНОВИТЬ

Я просто нашел, что каждый домен имеет свой собственный журнал Apache.

Вот что находится на этом конкретном сайте

[Thu Jul 28 22:04:02 2011] [error] [client 173.245.56.24] Premature end of script headers: cgi_wrapper [Thu Jul 28 22:04:02 2011] [error] [client 173.245.56.168] suexec policy violation: see suexec log for more details [Thu Jul 28 22:04:02 2011] [error] [client 173.245.56.168] Premature end of script headers: cgi_wrapper [Thu Jul 28 22:04:02 2011] [error] [client 103.22.200.144] suexec policy violation: see suexec log for more details [Thu Jul 28 22:04:02 2011] [error] [client 103.22.200.144] Premature end of script headers: cgi_wrapper [Thu Jul 28 22:04:02 2011] [error] [client 103.22.200.150] suexec policy violation: see suexec log for more details [Thu Jul 28 22:04:02 2011] [error] [client 103.22.200.150] Premature end of script headers: cgi_wrapper [Thu Jul 28 22:04:03 2011] [error] [client 173.245.56.168] suexec policy violation: see suexec log for more details [Thu Jul 28 22:04:03 2011] [error] [client 173.245.56.168] Premature end of script headers: cgi_wrapper [Thu Jul 28 22:04:04 2011] [error] [client 199.27.128.138] suexec policy violation: see suexec log for more details [Thu Jul 28 22:04:04 2011] [error] [client 199.27.128.138] Premature end of script headers: cgi_wrapper [Thu Jul 28 22:04:04 2011] [error] [client 103.22.200.246] suexec policy violation: see suexec log for more details [Thu Jul 28 22:04:04 2011] [error] [client 103.22.200.246] Premature end of script headers: cgi_wrapper 

Я не уверен, но иногда это может быть связано с разрешениями файла. На веб-хосте, который я использую, он даст 505, если разрешение не установлено на 655; 777 даст 500 внутренних ошибок сервера. Я предполагаю, что в обновлении PHP-дистрибутива с YUM они сделали что-то подобное, но это только предположение. Вкратце проверьте права доступа к файлам, а если они не 655, попробуйте изменить их.

Попробуйте прочитать журналы. Готовьте, что многие хосты, когда они перегружены, бросают 500 Internal Server Error, даже если нет проблем с php. Это происходит с моей учетной записью общего хостинга, когда я или кто-то другой на одном сервере перезаряжает ее

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

Как показано на https://support.exabytes.com/kb/a3479/500-internal-server-error-information.aspx :

Плохие разрешения, Записываемые группой

Плохая ошибка разрешений может выглядеть примерно так:

 [Sun Jun 05 12:03:22 2012] [error] [client 66.249.72.82] SoftException in Application.cpp:601: Directory "/home/exampleuser/public_html" is writeable by group 

В этом случае папка имела разрешения для слишком большой папки. Чтобы исправить это, разрешения необходимо изменить с «777» на «755».

Каталоги и папки должны быть 755. Исполняемые сценарии в папке cgi-bin должны быть 755. Изображения, медиа и текстовые файлы, такие как HTML, должны быть 644.

Файлы – 644 CGI Scripts – 755 каталогов – 755 Вы можете изменять разрешения с помощью диспетчера файлов, расположенного в категории «Файлы» cPanel, FTP-клиента или с помощью команды chmod в SSH / Bash.

Плохой .htaccess, Неверный код, команда или синтаксис

В файле .htaccess («dot htaccess») вы можете добавить строки, которые либо написаны неправильно, либо конфликтуют. Лучший способ устранить эту проблему – прокомментировать строки в .htaccess.

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

Например, если .htaccess выглядит так:

 DirectoryIndex default.html AddType application/x-httpd-php5 php 

Затем попробуйте что-то вроде этого:

 DirectoryIndex default.html #AddType application/x-httpd-php5 php 

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

Другие распространенные ошибки .htaccess

FollowSymlinks

Ошибка может выглядеть следующим образом:

 [Sun Jun 05 12:07:10 2011] [alert] [client 66.249.72.82] /home1/examplec/public_html/.htaccess: Option FollowSymlinks not allowed here 

В этом примере ошибка проста: в указанном файле используйте разрешенную директиву – в этом случае используйте «SymlinksIfOwnerMatches» вместо «FollowSymlinks» или полностью удалите строку.

Синтаксис не закрыт

Ошибка может выглядеть следующим образом:

  [Sun Jun 05 12:11:38 2011] [alert] [client 66.249.72.82] /home1/examplec/public_html/.htaccess: /home1/examplec/public_html/.htaccess:3: <IfModule>ExampleRule/Module> was not closed. 

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

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

Неправильно настроенный php.ini

ForceType

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

Пример. Когда у вас есть файл под названием «элемент» (например, Nucleus использует для FancyURL) и хочет, чтобы он анализировался сервером как php, вы используете следующий код в файле .htaccess:

 ForceType application/x-httpd-php 

Однако, поскольку наши серверы используют phpsuexec, это приведет к ошибке внутреннего сервера. Чтобы решить эту проблему, вы можете просто использовать SetHandler вместо ForceType, поэтому ваш .htaccess-файл будет выглядеть следующим образом:

 SetHandler application/x-httpd-php 

php_value

На сервере без phpsuexec можно использовать оператор php_value в файле .htaccess для изменения настроек php (фактически перезаписать настройки из php.ini). На сервере с phpsuexec это также приведет к ошибке сервера. Чтобы решить эту проблему, вы можете использовать файл php.ini, который вы помещаете в ту же папку, где вы бы поместили ваш файл .htaccess. В этом файле php.ini вы можете изменить все значения php. Вам нужно только указать значения, которые вы хотите изменить в этом файле. Например, если вы хотите установить short_open_tag в Off, вы бы использовали short_open_tag? = off в файле .htaccess. Используя файл php.ini, это приводит к:

 [PHP] short_open_tag = Off