日期:2014-05-17  浏览次数:20454 次

require_once 不能加载被包含的文件里的内容
网站目录结构:
rootdir(D:\test)
  .....index.php
  .....class
     .....config.php
     .....db.class.php

内容:
index.php
  <?php
  require_once('class/db.class.php');
  ?>
config.php
  <?php 
  $db_config['hostname'] = '192.168.1.22';
  ?>
问题:为什么写法1能正常运行,写法2不行呢
写法1:
  db.class.php
  <?php
  require_once('D:/test/class/config.php');
  echo $db_config['hostname'] ;
  ?>
  访问:http://localhost/test/index.php
  能正常输出:192.168.1.12


写法2:
  db.class.php
  <?php
  require_once('config.php');
  echo $db_config['hostname'] ;
  ?>
  访问:http://localhost/test/index.php
  不能正常输出:
  


------解决方案--------------------
require_once dirname(__FILE__) . '/config.php';
路径问题,用上面这个就可以了
------解决方案--------------------
首先,你的写法2并没有错
你用
print_r(get_included_files());
看看都加载了那些文件

估计与 test 所在目录中也有个 config.php