Я пытаюсь запустить php в html на сервере nginx. Что происходит, так это то, что php-код в html просто печатается, а не выполняется. Я могу нормально запускать скрипты php stanadalone. но не внутри html. Я потратил на это несколько часов.
Вот мои сайты-доступные / файл по умолчанию:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html index.php;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
Я думаю, мне нужно добавить сюда html-директиву location, но я не знаю, как ее написать. Я пробовал несколько версий, но они всегда выдают ошибки. Кто-нибудь знает, как действовать дальше?
Обычно, когда вы кодируете сайт на PHP, вы даете всем своим страницам расширение .php. Это потому, что вы хотите, чтобы PHP анализировал страницу и выполнял различные функции сценария, которые вы определили.
По умолчанию, когда вы помещаете PHP в документ .html, ваш веб-сервер не знает, что нужно отправить этот файл на PHP для анализа. Если вы хотите изменить функцию веб-сервера по умолчанию и иметь файлы .html, проанализированные PHP (он не может определить, есть ли они на одной странице, а на следующей - нет), вам необходимо указать веб-серверу, чтобы это было сделано.
Это предыдущее вопрос была аналогичная проблема, но у них были проблемы с обработкой расширений PHP. В вашем случае вы сможете взять это и заменить .php $ на .html. Я предполагаю, что у вас уже есть настройка конфигурации для PHP, вам просто нужно добавить раздел для HTML.
Хотя я бы лично этого не делал. Я бы изменил расширение файлов для своих страниц на .php, чтобы вы могли легко определить, что нужно обрабатывать, а что должно быть простым HTML. Кроме того, если вы настроили .HTML на обработку PHP по умолчанию, вы можете случайно разрешить пользователям загружать другие HTML-страницы с вредоносным сценарием, который будет выполняться PHP.