【php apache 诡异的问题】
描述: 
1.apache 的配置文件http.conf中 documentroot= d:/www 
2.d:/www 中index.html 文件,在浏览器中显示it works 。代码如下:
<h2>it works</h2>。
  在地址栏输入localhost 可以成功打开页面。
3.d:/www 中 ind.php 文件,代码如下:
<?php 
  echo "welcom"?>
  在地址栏输入localhost/ind.php 可以成功打开页面。页面显示welcome.
4.d:/www/php (文件目录改变了)中 index.php 文件(内容与ind.php一样),代码如下:
<?
  echo "welcome"?>
  在地址栏输入localhost/php/ind.php ,提示错误信息404,not found. 说明文字有点长,但是实在是没弄明白这是什么情况 ,求路过高手给个解,拜谢~~
  

解决方案 »

  1.   

    请检查
    1、php是否加载成功
    2、x-application是否已经配置
    3、php.ini的short_open_tag是否打开
      

  2.   

    你是说
    d:/www/ind.php 可以用 http://localhost/ind.php 访问到

    d:/www/php/ind.php 不能用 http://localhost/php/ind.php 访问到是这样吗?
      

  3.   

    是的。
    apache跟php的配置应该是没有问题的。
      

  4.   


    404 not found  php/index.php , 意思就是这样,找不到这个文件 , 但是在根目录下可以找到。 
      

  5.   

    之前没有这个问题,昨天突然出现的。我没有对任何配置文件做过修改,不知道是哪个设置改动了。就算是这样,也只可能是它自动改的,除非电脑被入侵了。一开始的错误提示是 server fordden 禁止访问这类错误, 修改了http.conf里面<directory>,改成allow from all . 然后错误就变成找不到文件了。
      

  6.   

    这是有点意思的
    1、D盘分区是 NTFS 的吗?如果是应检查权限
    2、open_basedir 设置成了什么
      

  7.   


    我觉得也许跟我的php文件本身关系不大,跟机器关系也不太,因为我在两台机器上试过,都是这样情况。D盘分区应该是NTFS的。
    open_basedir未启用,处于注释的状态。
      

  8.   

    我怎么看到两张帖子,前面说的是ind.php,后面显示的是index.php?
      

  9.   


    你说是两个目录……
    404 not found php/index.php ----->  问题就是你的php子目录到底有没有index.php这个文件?
      

  10.   

    谢谢回复! 
    不确定改动了哪里,现在又好了。
    感觉可能是因为那天取消了上网的代理。页面可以正常显示之后,又报错session_start() [function.session-start]: Cannot find save handler 'filesf' - session startup failed (之前还是好的)查php.ini 的设置,发现session.save_handler 的值是 filesf,改成file后, 这个错误就没有了。想把这个问题弄清楚, 防止下次电脑再抽风不知道怎么办,还想要了解下apache怎么解析localhost, 它的处理过程是怎样的,以及apache跟php的配置文件中主要的参数是什么意思,还有什么情况下配置文件中的某个值会被外部修改。学习ing ... 希望能跟前辈们多多交流