Intereting Posts
Как выполнить большой скрипт PHP? SQLite select query с аналогичным условием в обратном порядке дублировать запись для ключа 'idx_client_id_parent_id_alias_language' при ручной вставке базы данных joomla Почему PHP создает новый экземпляр singleton каждый раз, когда запускается скрипт, вызывающий Foo :: getInstance ()? Не удалось загрузить строку языка: from_failed Как отправить данные о форме сериализации с помощью JQuery, если входной элемент является массивом Канонический URL-адрес связан с Facebook, а не с реальным URL-адресом. Динамические теги OpenGraph Получите IP-адрес клиента, используя PHP PHP mbstring.func_overload vs с использованием функций mbstring Создание нового клиента в Magento (RESTful, PHP) Как использовать две базы данных в propel Хранение массивов в базе данных PHP __DIR__ оценил время выполнения (поздняя привязка)? Как отправить массив с CURL? Должен ли я «urlencode» это? Как поделиться формой между двумя веб-сайтами

500 Внутренняя ошибка сервера для файла php не для html

Мой сайт имеет только 4-5 статических страниц. index.html & index.php оба есть. index.html работает нормально. Если я перейду на index.php, он даст 500 Internal Server Error . Я не знаю, где моя ошибка?

Примечание. Если я использую файл .htaccess с php_flag display_errors 1 ,

Он также показывает Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

Если я использую файл .htaccess с empty ,

Он также показывает Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

И если я дам ../contact-us.php , он будет показывать правильно.

Благодаря…

    500 Внутренняя ошибка сервера отображается, если ваш php-код имеет фатальные ошибки, но отображение ошибок отключено. Вы можете попробовать это, чтобы увидеть ошибку, а не 500 страниц ошибок:

    В вашем php-файле:

     ini_set('display_errors', 1); 

    В файле .htaccess:

     php_flag display_errors 1 

    Файл PHP должен иметь разрешения 644. Любая папка, содержащая файлы PHP и доступ к PHP (например, для загрузки файлов), должна иметь разрешения, равные 755. PHP будет запускать ошибку 500 при работе с любым файлом или папкой с установленными разрешениями до 777!

    Я знаю, что этот вопрос старый, однако я столкнулся с этой проблемой в Windows 8.1, пытаясь использовать файлы .htaccess для перезаписи. Мое решение было простым, я забыл изменить следующую строку в httpd.conf

     #LoadModule rewrite_module modules/mod_rewrite.so 

    в

     LoadModule rewrite_module modules/mod_rewrite.so 

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

    Удачи!

    У меня была эта проблема, потому что я пытался подключиться к MySQL, но у меня не было требуемого пакета. Я понял это из-за комментария @ Amadan, чтобы проверить журнал ошибок. В моем случае у меня была ошибка: Call to undefined function mysql_connect()

    Если ваш PHP-файл имеет какой-либо код для подключения к базе данных My-SQL, вам может потребоваться сначала установить php5-mysql . Я получал эту ошибку, потому что я ее не установил. Все мои права на файлы были хорошими. В Ubuntu вы можете установить его с помощью следующей команды:

    sudo apt-get install php5-mysql

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

    Другой возможной причиной ошибки 500 является синтаксическая ошибка в функции header(...) , например:

     header($_SERVER['SERVER_PROTOCOL'] . '200 OK'); 

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

     header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK'); 

    Поэтому я предлагаю проверить ваш HTTP-заголовок, если он есть в вашем коде.

    Он менял окончание строк (от Windows CRLF до Unix LF) в файле .htaccess который исправил его для меня.