用pear安装的类,默认安装路径,调用的时候发现每个类中require_once('xx'),'xx'并不存在于指定的目录中,即路径不一致,这样调用这个类的时候就会报错,为什么会这样?难道要去安装的类的源码中一个个修改调用类的路径?还是其他的原因?

解决方案 »

  1.   

    当没有在 php.ini 中设置 include_path 时,pear 安装目录是包含在 include_path 的
    如果你指定了 include_path 并且要使用 pear,那么应将 pear 安装目录附加在 include_path 中
      

  2.   

    那你就调用全路径,比如require("d:\x\xx\1.php");
    或者先看看echo dirname(__file__)的结果、
    或者用get_include_path确认下目前的包含路径有哪些
      

  3.   

    我懂了,原来那些类中的require_once('xx')里面的'xx'是相对于php.ini中设置的require_path的相对路径,这样就对了,我之前理解错了,以为require_once的是相对于当前目录的相对路径,多谢楼上两位提醒
      

  4.   

    你理解的没有错!
    嵌入文件的相对路径是按 include_path 指定的目录依次查找的