Apache webserver子目录未加载

时间:2011-12-08 06:34:43

标签: php apache installation

我正在尝试设置一个基本的apache 2 webserver,仅用于测试目的。我在Ubuntu 11.10上安装了apache 2。我可以通过浏览器中的“localhost”访问网络服务器上的根目录。这都位于默认目录中:/ var / www。但是,每当我尝试访问我的网络服务器的子目录时,问题就会出现。所以,例如,如果我转到“localhost / phpproject /”,其中列出了一个index.php文件(我确实测试了PHP是否正常工作),所有它似乎想在我的浏览器中做的是尝试当我输入地址而不是实际显示任何内容时下载文件。

我甚至尝试在子目录上授予完全权限,以确保它不仅仅是与权限相关的问题。有什么想法吗?

4 个答案:

答案 0 :(得分:1)

首先,您不应该将开发文件保留在/ var / www文件夹中。配置您的apache以将您的Web文件保留在主目录中。这样做,您不必具有sudo权限来编辑/ var / www中的文件。如果您想按照我的设置,在您的主文件夹/ home / yourname / www中创建一个名为www的目录。查看我的/ etc / apache2 / sites-enabled / 000-default

的配置

http://pastebin.com/3gcE59Lh

对我有用。

如果您更改此配置,请务必重启apache [sudo service apache2 restart]

答案 1 :(得分:1)

确保在Apache配置中正确安装了PHP并注册了PHP。

这是关键所在,它看起来像是在发送index.php文件,在这个子目录后面的主文件夹中测试一个PHP文件,看它是否试图下载它。

文件可能只是:

<?php
phpinfo();

查看将它放在父文件夹中的index.php中是否为您提供了phpinfo页面或尝试下载index.php。

如果它试图下载它只是在apache中没有配置PHP来处理以.php结尾的文件

要配置它,请将以下行添加到httpd.conf文件

LoadModule php4_module modules/libphp4.so
#
# Cause the PHP interpreter handle files with a .php extension.
#
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 9524288
</Files>
AddType application/x-httpd-php .php

答案 2 :(得分:0)

确保在apache配置中正确安装了PHP并注册了PHP。

本手册应详细说明所需的安装步骤。

答案 3 :(得分:0)

在Ubuntu中,您应该使用CL中的tasksel安装LAMP选项。这将使您,Apache,MySQL和PHP一起工作。听起来你可能已经安装了separatley并且没有正确配置PHP。 mime类型确定服务器处理特定文件类型。

apesa@ubunt$ sudo tasksel

按照提示

编辑:

我们曾经在httpd.conf中进行所有配置更改。如果您使用了包管理器,那么您将拥有分布式配置环境。您需要启用etc / apache2 / mods并查看php.conf文件。里面有方向。听起来您需要确保Web服务器了解目录和FS位置。看看@Chrispy的例子。您将不会使用第一行,因为您的env中的php模块是通过php.load加载的,配置是在php.conf中完成的。该AddType指令很重要,它告诉服务器执行您的文件而不是服务它。看一看。顺便说一句,Apache Project支持URL上最好的列表服务器之一:http://httpd.apache.org/userslist.html