php父级目录文件包函问题

问题:

  php子目录不能包函父目录中的文件。

环境:

网站根目录:/var/www/html/

PHP版本: 5.3.3

Apache版本:2.2

好了,创建三个文件:

//文件路径:/var/www/html/a.php
<?php
    echo "a.php";

 

//文件路径:/var/www/html/test/b.php
<?php
    include "../a.php";
    echo "b.php";
?>

 

//文件路径:/var/www/html/c.php
<?php
    include "./a.php";
    echo "c.php";
?>

主要来看b.php

我们期待的执行结果是,

 

但是实际上呢:

但是c.php文件中执行没有问题。

 

解决方案:

修改/etc/php.ini文件

在第380行的open_basedir属性。

在其后面添加网站根目录

open_basedir =.:/tmp/:/var/www/html/

open_basedir属性是做什么的呢?表示允许访问的目录,开启这个配置项,可以防止php木马跨站。

 

posted @ 2015-03-23 18:12  Medici.Yan  阅读(305)  评论(0编辑  收藏  举报