可以';不要在html中使用php(混合)


can't use php in html (mixing)

我想在我的pi上设置一个小型nginx服务器。到目前为止,html和php5正在运行,但如果我进行混合,可以说:

<p>It is <?php echo time();?> UTC </p>

它会显示给我:

这是UTC

但是如果我用echo-phpinfo()在根目录中放入一个index.php;(index.php位于index.html之前)我一点错误都没有。

我遵循了这个教程:

为了使用混合,还有什么需要安装的吗?我安装了Rasbian作为操作系统。我绝对不是一个专业人士,任何帮助都将不胜感激。

某些版本的PHP与某些版本的web服务器不兼容,至少在Apache中是这样。我在nginx方面几乎没有任何经验,但如果我没有弄错的话,它更常用于CGI,是基于事件的,而不是基于进程的。CGI在某些方面仍然有一席之地,但我发现使用MySQL更安全,MSSQL更安全。

在这一点上,你可能更喜欢安装Apache而不是nginx,除非你有特殊的原因:我不确定nginx在RasPi上开发得有多好,但我知道很多人使用Apache在上面运行web服务器。

您的问题本身似乎是PHP没有进行解析。HTML将在胡萝卜(<和>)之间处理和HTML,而不向用户显示输出。然而,除非PHP正在工作,否则如果您查看源代码,它仍然可见。要确保安装了PHP,请查看页面源代码,看看是否可以看到PHP代码。如果可以的话,PHP没有安装或工作。如果没有显示,则可能是服务器的兼容性出现问题。此外,一些PHP代码最终在新版本上被弃用,而一些指令是新的。请确保您的问题是您为安装的PHP版本使用了正确的代码/语法。

最后,但可能是最重要的:确保你正确遵循教程中的"测试WEB服务器",并从另一台计算机访问它。如果你从同一个IP地址进行尝试,可能会导致环回,PHP不会解析与源相同的IP地址。

我还发现可以引导您朝着正确的方向前进的资源。https://serverfault.com/questions/593677/php-file-are-not-parsed-by-fastcgi-in-nginx

我知道这是一个很长的答案,但这是一种用逻辑进行故障排除并了解其工作原理的好方法。

php或.html文件的扩展名是什么?当你在一个带有html的文件中使用php脚本时,它应该是.php类型的,即你的文件应该用扩展名php.

保存