首页 文章

Apache webserver子目录未加载

提问于
浏览
1

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

我甚至尝试在子目录上提供完全权限,以确保它不仅仅是与权限相关的问题 . 有任何想法吗?

4 回答

  • 0

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

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

  • 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

  • 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

    确保在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
    

相关问题