Web 浏览器拒绝呈现 PHP 代码

Posted

技术标签:

【中文标题】Web 浏览器拒绝呈现 PHP 代码【英文标题】:Web Browsers Refusing to Render PHP Code 【发布时间】:2013-03-22 09:49:27 【问题描述】:

我在 Windows 7 上通过 VMWare 在 Linux Backtrack5 R3 上运行。

在我的 Linux 操作系统上,我安装了 Apache2、php5 和 mysql14。当我创建一个简单的 test.php 文件并尝试使用 Firefox 14.0.1 打开它时,它会尝试下载该文件。不是我想要的结果,因为我已经有了文件:/

在四处寻找并没有找到答案后,我决定安装 Opera 并尝试在 Opera 12.14 for Linux i386 上打开 test.php。即使它没有要求我下载文件,它仍然没有给我想要的结果。它根本没有渲染 PHP,它只是显示纯文本,就像我在记事本中查看源代码一样。

例如,我将拥有包含 <?php echo '<p>Hello World</p>'; ?> 的文件 text.php。

在 Firefox 中打开文件时,它显示“您要保存还是 打开文件test.php?” 在 Opera 中打开文件时,不会显示“Hello World”, 它显示“<?php echo '<p>Hello World</p>'; ?>”。

我做错了吗?

【问题讨论】:

您如何访问.php 文件? 我刚刚在浏览器的地址栏中输入了 file://localhost/root/Desktop/test.php。 【参考方案1】:

浏览器不执行 php 文件,服务器执行。您的服务器正在交付 php 文件而不是执行它。您应该将文件作为 text/html 返回,但我敢打赌它是以 php 形式提供的,没有浏览器知道如何处理。

在您的评论中,您说您是直接访问文件而不是通过服务器。这意味着服务器永远不会执行 php 文件。您必须将它放在服务器上的一个目录中,以便它可以解释您的 PHP 并将其正确地提供给浏览器。

【讨论】:

以上是关于Web 浏览器拒绝呈现 PHP 代码的主要内容,如果未能解决你的问题,请参考以下文章

拒绝没有启用 javascript 的浏览器使用我的 php 网站

PHP 为啥 $_SESSION 变量拒绝在浏览器关闭时取消设置?

Web 浏览器不将 PHP 代码作为 PHP 代码处理

什么是SQL注入

Google Web Font 呈现浏览器的差异

Rails 应用程序在 localhost 上运行,但每当我检查 Web 浏览器时都会被拒绝连接