3

我无法让我的 PHP 为我的 Apache 服务器工作。我正在运行 Oracle Linux,并使用yum install php+yum install httpd来获取我的 PHP 和 Apache。我搜索了互联网并做了几件事:

首先,我进入了我的 httpd.conf 文件并添加了LoadModule php5_module modules/libphp5.so. 我选择在我的 php.conf 文件中使用一个,它是完全相同的。此外,我已经完成了AddType application/x-http-php .php,所以现在我的 .php 文件加载正常。

其次,我尝试运行我的 Apache 服务器,它运行良好。它显示了我使用 DirectoryIndex 设置的 index.html 文件。但是,当我尝试将 php 代码放入其中时,它会自动被注释掉,我认为这是因为我没有将其设置为在服务器端正确执行。

现在,说了这么多,我想知道我可能还缺少什么。我有两种设置,一种是 .php 文件,另一种是 php 与 html 内联。

索引.html

<!DOCTYPE html>
    <body>
        <?php echo "Hello everybody."; ?>
    </body>
</html>

索引.php

<?php phpinfo(); ?>

index.php 文件加载正常,但 index.html 不运行 php 代码。如何让内联版本的 php 工作?

注意:我已经将我的 Mac OS 设置为可以正常处理 .php 文件,但它也无法处理 Html 文件中的内联 php。我错过了什么?


解决方案: Html 文件本身不能包含 php。相反,该文件必须是 .php 扩展名,并且在 .php 文件中,您可以包含文本、html 和 JavaScript。

4

3 回答 3

7

我不认为 .html 文件是通过 php 运行的,所以 <? ... ?> 被视为不可见的普通标签。

将扩展名更改为 .php。

php可以包含h​​tml。

编辑:如果您由于某种原因不能或不想使用 php 结尾,则存在一个选项来配置例如 Apache 来解析 html 文件,就好像它们是 php 一样。

在我看来,这不是一个好的解决方案,因为它隐藏了页面对于未来的维护者来说是动态的这一事实。

于 2013-06-19T12:22:12.610 回答
2

有一个类似的问题有类似的问题:

PHP 代码没有被执行,而是代码显示在页面上

您可能想在接受的答案中查看第 2 到第 5 点:

  • LoadModule(看来,你已经正确配置了)
  • 设置 Apache 运行 PHP 文件(这是第三点,看来你没有配置)。将以下行添加到您的 httpd.conf 文件中:AddType application/x-httpd-php .php
  • 确保文件以.php扩展名结尾(在配置 Apache 以运行 PHP 文件后,请参阅上一点)
  • 更改您的代码以使用长 PHP 开始标记(<?php而不仅仅是<?
于 2013-06-19T08:06:00.853 回答
0

您需要short_open_tag = Onphp.ini文件中设置

于 2013-06-19T08:01:29.767 回答