我的网站根目录下面有个uc_client/client.php的文件,
我在/system/application/controllers的一个文件里面如何require client.php。为什么require("/uc_client/client.php");
显示如下错误
A PHP Error was encounteredSeverity: WarningMessage: require() [function.require]: open_basedir restriction in effect. File(/uc_client/client.php) is not within the allowed path(s): (/data/home:/var/www/htdocs:/var/www/disablesite:/data/home/tmp)Filename: controllers/user.phpLine Number: 16

解决方案 »

  1.   

    在linux下 "uc_client/client.php"表示 你在系统根目录下有个叫uc_client的文件夹,uc_client文件夹里有个client.php的文件。就算真的有这样的文件夹和文件,apache也没有对它的访问权限。比较好的做法是 定义一个 网站根目录 的 常量,使用绝对路径 引入文件,或者是使用相对当前文件的相对路径 引入文件。不知道我说的对不对。
      

  2.   

    require($_SERVER["DOCUMENT_ROOT"].'/uc_client/client.php');
    require不是相对网站根本录,网站要目录是针对网站发布出去的概念。require根本不知道根目录是什么,那包含文件依据引用require指令的文件所在的目录的相对目录及php环境变量include_path的值来定。
      

  3.   

    require($_SERVER["DOCUMENT_ROOT"].'/uc_client/client.php'); 方法不行,显示拒绝访问
    Access denied