我有麻烦让我的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.
内联。index . html
<!DOCTYPE html>
<body>
<?php echo "Hello everybody."; ?>
</body>
</html>
index . php
<?php phpinfo(); ?>
index.php文件加载正常,但是index.html不能运行php代码。我如何得到内联版本的php工作?
注意:我已经设置了我的Mac OS与。php文件工作良好,但它也有麻烦内联php在Html文件中。我错过了什么?
解决方案: Html文件本身不能包含php。相反,该文件必须是.php扩展名,并且在.php文件中可以包含文本、html和JavaScript。
我不认为。html文件是通过php运行的所以…比;被视为不可见的普通标签。
将扩展名改为。php。
Php可以包含html。
编辑:如果您出于某种原因不能或不想使用php结尾,那么存在一个选项来配置例如Apache来解析html文件,就好像它们是php一样。
在我看来,这不是一个好的解决方案,因为它隐藏了一个事实,即对于未来的维护者来说,页面是动态的。
有一个类似的问题,有一个类似的问题:
PHP代码没有被执行,相反代码显示在页面
你可能想检查一下公认答案中的第2点到第5点:
- LoadModule(似乎,你已经正确配置)
- 设置Apache运行PHP文件(这是第三点,似乎你没有配置它)。在httpd.conf文件中添加以下行:
AddType application/x-httpd-php .php
- 确保文件以
.php
扩展名结尾(在配置Apache运行PHP文件之后,请参见上一点) - 更改代码以使用长PHP开始标记(
<?php
而不仅仅是<?
)
您需要在php.ini
文件中设置short_open_tag = On