2

我对 Web 开发相当陌生,并且遇到了一个小问题。我正在我管理的集群上创建一个 html 网站。我想让服务器正常运行时间显示在主页(index.html)上。

我使用以下代码创建了一个 php 脚本(称为 test.php):

<?php
$uptime = shell_exec("cut -d. -f1 /proc/uptime");
$days = floor($uptime/60/60/24);
$hours = $uptime/60/60%24;
$mins = $uptime/60%60;
$secs = $uptime%60;
echo "up $days days $hours hours $mins minutes and $secs seconds";
?>

仅查看 test.php 文件时,该代码本身就可以正常工作,但我想拥有它,以便我可以在 index.html 页面上获得相同的信息。

我无法弄清楚如何将 php 文件嵌入到 html 文件中。

4

4 回答 4

1

将站点设为 .php 而不是 .html,不会有太大的不同。你也可以使用

<?php system("uptime"); ?>

作为一种变体。

于 2013-05-21T19:52:54.127 回答
1

<iframe>标签被认为是不好的做法,您不应该在其中添加<meta>标签<body>。除非你有正当的理由,否则你应该避免它们。

最简单的解决方案是使用 PHP 而不是 HTML 作为索引页面。

但是,如果您确实需要使用 HTML,您可以通过 Ajax 从您的 PHP 文件中获取正常运行时间并将其注入您的 HTML 文件中。这是一个使用 jQuery 的示例:

$.ajax({
    url: "test.php",
    type: "get",
    success: function(data) {
        $(".uptime").html(data);
    }
});

同样,这不是理想的解决方案,您应该真正考虑在整个网站上使用 PHP。

于 2013-12-09T20:56:36.723 回答
0

通常,文件由 Web 服务器处理。

在带有 PHP 模块的 Apache Web 服务器上,您可以尝试写入.htaccess(文件可以在站点目录中):

AddHandler 应用程序/x-httpd-php .php .htm .html

或者

AddType application/x-httpd-php .php .htm .html


对于带有 phpfpm 的 Nginx,您应该执行两个步骤:

  1. 首先设置security.limit_extensions = .php .htmlphp-fpm.conf

  2. 其次,您应该添加到 Nginx 的配置中:

location ~* \.(php|htm|html)$ {
    fastcgi_pass ...
    fastcgi_param ...
    include fastcgi_params;
}
于 2013-05-21T19:54:57.673 回答
0

我最终做的只是使用了一个 html iframe。所以在我的 index.html 中包含了这一行

<iframe src="test.php"></iframe>

这为我完成了工作我还通过将此行添加到 test.php 文件中添加了刷新功能

<meta http-equiv="refresh" content="15">
于 2013-05-23T18:52:13.220 回答