编辑

编辑

我安装了 LAMP

sudo tasksel install lamp-server

我可以运行我的网站,但 php 代码只是显示为文本

我努力了解决方案,但它对我没有帮助。

当我尝试使用终端运行 php 脚本时:

user@pc:~/ooo$ php index.htm

我只得到 php 代码。

什么时候

sudo /etc/init.d/apache2 status
php -v

我明白了

 * apache2 is running
PHP 5.5.9-1ubuntu4 (cli) (built: Apr  9 2014 17:11:57) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

如何解决这个问题?

答案1

通过查看您上次更新的编辑,我发现文件未保存为index.php。您会看到,当您将其保存在或扩展名php上时,脚本将不起作用。为了使文件生效,您需要重命名为。.htm.htmlphpindex.htmindex.php

编辑

根据我最后一条带有测试 php 脚本链接的评论,看来你的php包或灯服务器。这和你的脚本本身有关php。最好仔细检查一下脚本,然后修复它,让它得到正确的结果。

希望这可以帮助!

答案2

代码似乎使用了短标签,<? ?>而不是普通标签<?php ?>。您需要在 php.ini 中启用短标签。

在 php.ini 中找到:short_open_tag

将其设置为 1 并重新启动 Apache。

答案3

看起来您的脚本没有传递给 php 解释器,而只是输出了文件的文本。这是一个常见错误,几乎总是由于以下原因造成的:

  1. 使用除 php 之外的扩展名的文件(例如 htm 或 html)
  2. 没有使用 php 标签<?php ... ?>或者像 Nathan 提到的那样使用了不当的标签。

您可能会看到其他服务器使用除 之外的文件扩展名.php或使用简写标签。

可以将以下两项配置为允许:

允许 php 短标签

允许其他文件扩展名

短标签曾经默认允许使用,但现在已经不再受欢迎。<?php ?>如果您开始使用新东西或刚刚学习 PHP,最好使用完整标签。

答案4

我刚刚遇到了同样的问题。您需要先检查您的 PHP 版本。

php -v

安装后libapache2-mod-phpX

X= 您的 php 版本号。它会要求提供一些依赖项,全部选择“是”。

相关内容