比如一个子目录:test下面有一个文件init.php   子目录a文件夹下有一个类文件a.class.phplinux+nginx 使用include无法包含文件????init.php 代码如下:
define('web_root',str_ireplace('test','',str_ireplace('\\','/',dirname(__FILE__))));
include(web_root.'a/a.class.php');$bb=new a();
Fatal error: Class 'a' not found in init.php on line x行但是在本机 window+apahce+php5.2x中运行没有问题很正常如果不能使用include 那我的程序全瘫痪了 没法运行呀这个

解决方案 »

  1.   

    dirname(__FILE__) 后并无最后的路径符
    所以你 include(web_root.'a/a.class.php');
    实际是 testa/a.class.php
    当然是不行的你说 在本机 window+apahce+php5.2x中运行没有问题很正常
    是不负责任的
      

  2.   

    最后的连接地方有 ‘/’ 这个路径符的 在我本机确实是有的不知能从哪上截图 不然可以上个截图 可以看看虚拟空间  /home/1268/www/ 这是我输出web_root的内容本机 E:/website/test/
      

  3.   

    问题解决    在NGIX下 用到include(变量.'/xx/xx/wenjian.php')这样可以包含文件,  不能用常量 +路径 比如  define('root','xxxxxxxxx代码')include(root.'/xx/wenjian.php')  不包含文件