Недавно я поставил свой проект, который является php + smarty + mysql на моем сервере httpd. Но я столкнулся с ошибкой, которая гласит:
500 Internal Server Error
Моя ОС – archlinux, и httpd-сервер и php были установлены следующим образом:
sudo pacman -S apache php
Если я использую тестовый собственный php-файл, который содержит следующее:
<html> <head> <title>PHP Test Page</title> </head> <body> This is Arch Linux, running PHP. <?php phpinfo(); ?> </body> </html>
он работает правильно. Это говорит мне, что php может работать хорошо. Но почему мой проект с умным не работает? Есть ли кто-нибудь, кто столкнулся с этой проблемой?
С информацией, которую вы предоставили, сложно сказать.
Ошибка 500 происходит потому, что вы сделали некоторую ошибку в коде, который должен был создать страницу, или код генерирует какое-то необработанное исключение. Мое предложение – посетить страницу, которая дает вам ошибку 500, а затем попытаться прокомментировать весь ваш код. Посмотрите, сохраняется ли проблема. Если нет, раскомментируйте код, пока не найдете критическую часть, которая исходит из этой ошибки. Может быть что угодно, опечатка, файл не найден, логическая ошибка, что угодно.
Кроме того, проверьте журналы веб-серверов, если их можно прочитать.
Посмотрите в свой журнал ошибок Apache (часто находится в /var/log/httpd/error_log
, хотя это сильно варьируется). Он будет иметь больше информации об ошибке сервера.
Убедитесь, что файлы .htaccess верны (синтаксис мудрый).
просто случилось со мной и захотелось записать решение.
Конфигурированный каталог кэша Smarty (/ var / cache / Smarty) был настроен с неправильными разрешениями, процесс apache должен создавать файлы в этом каталоге.
Это каталог, который вы задаете с помощью директивы compile_dir.
BTW, файл error_log ничего не показывает с этой ошибкой, Firebug показывает 500 Internal Server Error.
Мне удалось получить данные об ошибках, проверив файл error.log внутри
/ Вар / Журнал / apache2
в ubuntu 16.04