返回 PHP 代码而不是执行

返回 PHP 代码而不是执行

我有 L-Ubuntu 11.04。我已经安装了 Apache2,并尝试通过localhost浏览器导航到本地文件系统上模拟服务器。

问题是我似乎无法在本地主机上执行 php。PHP 代码只是打印在浏览器中(而不是执行并打印结果)。

  • libapache2-mod-php5已安装且为最新版本。
  • Apache 模块 php5 已启用。

如何让 PHP 在本地主机上运行?

答案1

配置文件/etc/apache2/mods-available/php5.conf控制 Apache 将哪些文件识别为 php 脚本(基于其扩展名)。

默认情况下(在 PHP 5.3.2 中),该文件包含以下代码:

<FilesMatch "\.ph(p3?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

这会影响具有以下扩展名的文件:

  • .php
  • .php3
  • .phtml

我们在聊天中的讨论,我知道您的文件有html扩展名。服务器配置为将.html文件视为 php 文件,但您的家用计算机却不是。这给您留下了两个选择:

  1. 将包含 php 代码的文件重命名.html为上述扩展名之一。

  2. 更换线路

    <FilesMatch "\.ph(p3?|tml)$">
    

    在你php5.conf

    <FilesMatch "\.(ph(p3?|tml)|html?)$">
    

    并通过执行以下命令重新加载 apache:

    sudo service apache2 reload
    

    除了前面提到的扩展之外,新配置还影响:

    • .htm
    • .html

答案2

Apache 正在运行吗?

当打开 localhost 时,你必须看到“它起作用了!”页面。如果 apache 没有运行,你可以使用/etc/init.d/apache2 start

可能是 php 模块没有启用。要启用

a2enmod php5

/etc/init.d/apache2 reload

您可以使用

tail -f /var/log/apache2/error.log

查看错误日志。

答案3

您必须安装 php 模块。

apt-get install libapache2-mod-php5

相关内容