【发布时间】:2021-07-08 11:48:44
【问题描述】:
我最近将一个站点从 Apache 迁移到 Nginx,现在 html 中的 php 代码无法解析。 .PHP 页面解析没有问题,您可以在本文底部 phpinfo.php 的附加图像输出中看到。
这就是代码在 index.html 等页面中的样子:
<!-- Copyright -->
<? include("includes/copyright.php") ?>
</body>
</html>
如您所见,没有包装代码的 ,但 Apache 仍然会执行 php 包含,在这种情况下,它会在页面中添加一个带有版权信息的页脚。
同样,这不是一个 .php 文件,而是一个 .html 文件。 如果我将代码包装在 我已按照许多帖子中的说明进行操作,但仍然无法使其正常工作...如果有人能阐明一下,我将不胜感激,因为我真的不确定还能尝试什么。 /etc/nginx/sites-available/mysite.com.conf .htaccess 来自 Apache 服务器:<?php ?> 标记中并将文件从 .html 重命名为 .php,代码将解析,但这不是一个选项,因为该站点有数百个页面并且每个文件都有多个 php 命令比如上面的include。server {
server_name mysite.com www.mysite.com;
listen 111.111.11.111;
root /home/mysite/public_html;
index index.php index.htm index.html;
access_log /var/log/virtualmin/mysite.com_access_log;
error_log /var/log/virtualmin/mysite.com_error_log;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME /home/mysite/public_html$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT /home/mysite/public_html;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS $https;
location ~ \.(php|html)$ {
try_files $uri $fastcgi_script_name =404;
fastcgi_pass unix:/var/php-nginx/1618253277225737.sock/socket;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
fastcgi_split_path_info ^(.+\.php)(/.+)$;
listen 111.111.11.111:443 ssl;
ssl_certificate /home/mysite/ssl.combined;
ssl_certificate_key /home/mysite/ssl.key;
AddType application/x-httpd-ea-php56 .html .htm
ErrorDocument 404 /error-page.html
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
# BEGIN gzip file compression
# Compress HTML, CSS, JavaScript, Text, XML and fonts
...
【问题讨论】:
-
这能回答你的问题吗? HTML files as PHP in Nginx
-
已经试过了。没用。
-
你在你的htaccess中试过
AddHandler php-script .html .htm吗? -
这是在 Nginx 而不是 Apache。
-
你在修改 nginx 配置时是否重启了服务器?
标签: php nginx nginx-config