Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DirectoryIndex忽略index.php_Php_Apache_Failed Installation_Apache2.2 - Fatal编程技术网

DirectoryIndex忽略index.php

DirectoryIndex忽略index.php,php,apache,failed-installation,apache2.2,Php,Apache,Failed Installation,Apache2.2,我正在尝试从头开始安装Apache2,它安装时没有启用任何模块,或者任何相关的默认配置都可以被视为“web主机”(事实上html显示为文本,PHP文件下载) 无论如何,我在httpd.conf中有这个 # Default Directory Settings <Directory /> DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All </Dir

我正在尝试从头开始安装Apache2,它安装时没有启用任何模块,或者任何相关的默认配置都可以被视为“web主机”(事实上html显示为文本,PHP文件下载)

无论如何,我在httpd.conf中有这个

# Default Directory Settings
<Directory />
     DirectoryIndex index.html index.php
     Options FollowSymLinks
     AllowOverride All
</Directory>
#默认目录设置
DirectoryIndex.html index.php
选项如下符号链接
允许超越所有
默认情况下,index.html似乎可以工作,但index.php无法工作。我做错了什么

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    <IfModule mod_php5.c>
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps
        php_flag magic_quotes_gpc Off
        php_flag track_vars On
        php_flag register_globals Off
        php_value include_path .
    </IfModule>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    DocumentRoot /home/was/www
    <Directory /home/was/www/>
        Options FollowSymLinks
        Options +ExecCGI Indexes FollowSymLinks MultiViews
        DirectoryIndex index.html index.php
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    <Location /cgi-bin >
        SetHandler cgi-script
        Options +ExecCGI
    </Location>
    <Directory /usr/lib/cgi-bin>
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

服务器管理员webmaster@localhost
AddType应用程序/x-httpd-php.php
AddType应用程序/x-httpd-php-source.phps
php_标志魔术_引号_gpc关闭
php_标志跟踪_变量打开
php_标志寄存器_全局关闭
php_值包括_路径。
ScriptAlias/cgi-bin//usr/lib/cgi-bin/
DocumentRoot/home/was/www
选项如下符号链接
选项+执行CGI索引跟随符号链接多视图
DirectoryIndex.html index.php
允许超越所有
命令允许,拒绝
通融
SetHandler cgi脚本
选项+执行CGI
不允许超限
选项+执行CGI-多视图+符号链接所有者匹配
命令允许,拒绝
通融
ErrorLog${APACHE_LOG_DIR}/error.LOG
#可能的值包括:调试、信息、通知、警告、错误、临界值、,
#警惕,埃默格。
日志级别警告
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合

注意,所有的黑客只是为了让事情正常工作,比如PHP。真烦人

显然,如果您没有启用站点,Apache2可能仍然会加载该文件并使用其某些设置

特别是,该文件声明了我的一个IP要使用,并在新端口上转发到新的www文档根目录。即使在站点被禁用的情况下,这仍然有效,但是
和其他设置都不起作用,直到我启用了它


我认为Apache2的功能不好,但很奇怪

我很确定,
AddType
只是告诉浏览器,对于
.php
文件,应该发回的头类型是
x-httpd-php
。如果需要处理这些文件中的php数据,请尝试使用
AddHandler应用程序/x-httpd-php.php
Oh真的吗?因为这段代码是PHP的开箱即用,有了它,PHP就可以工作,没有它,它就不能工作。原来整个问题是该站点没有启用。但是Apache仍然在读取文件的一部分,并利用它,主要是IP和端口监听,这让我觉得一切正常。我的朋友从来没有告诉过我他从来没有在上面跑过一段时间