热搜:NVER node 开发 php

pear类调用问题

2024-09-07 15:55:01
pear类调用问题

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


回复讨论(解决方案)

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

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



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

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