Внезапно все .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
(«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. Если вы не можете определить, какая строка является проблемой, запишите каждую строку.
Ошибка может выглядеть следующим образом:
[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. То, с чем вы сталкиваетесь, скорее всего будет изменяться, однако, как правило, сообщение об ошибке достаточно описательно, чтобы определить ошибку из него без дальнейшего изучения.
Когда вы используете файлы с (или без) расширения, отличного от обычного расширения для этого типа файлов, вы можете использовать ForceType в вашем файле .htaccess, чтобы дать понять серверу, как обращаться с этим файлом (или всеми файлами в папке) (это работает на серверах без phpsuexec).
Пример. Когда у вас есть файл под названием «элемент» (например, Nucleus использует для FancyURL) и хочет, чтобы он анализировался сервером как php, вы используете следующий код в файле .htaccess:
ForceType application/x-httpd-php
Однако, поскольку наши серверы используют phpsuexec, это приведет к ошибке внутреннего сервера. Чтобы решить эту проблему, вы можете просто использовать SetHandler вместо ForceType, поэтому ваш .htaccess-файл будет выглядеть следующим образом:
SetHandler application/x-httpd-php
На сервере без 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