11 12
发新话题
打印

php中的include问题

php中的include问题

我有一个包含两个虚拟主机的站点,主机A主机B.每个主机下都有一个include语句,调用相同的文件x.htm(文件名相同,路径不同,分别在/cn和/hk下).在php.ini文件中我配置了不同路径
include_path = "/cn/:/hk/"

实际执行中,每次调用的都是/cn/的x.htm.(查找路径由前向后)

要怎么样设置才能调用到不同路径下的x.htm?      

TOP

你可以在include文件时,标明完整的路径和文件名即可。      
左右拾遗

TOP

一共有1000多个页面,用绝对路径不是要累死了.有没有其它的方法?      

TOP

还有个笨办法试试,就是把两个虚拟主机的根目录分别设成/cn 和/hk,把各自的页面copy到各自目录。      
左右拾遗

TOP

当然也可以把各自的x.htm拷贝到各自的根目录里,也就ok了      
左右拾遗

TOP

to rabbithong

你所说的方法不知道你验证过没有,在使用include或require命令时,各虚拟主机的查找路径都是根据php.ini文件里的include_path所设置的路径去查找,这个时候并没有独立的根,因此/hk站点的文件调用的还是/cn站点下的x.htm文件。      

TOP

我实际这样做过啊:
我的php.ini配置为:
include_path = "/home/webmaster/hong/"
我的服务器有3个虚拟主机,我各个虚拟主机中需要include的文件都放在各自的根目录中(/home/webmaster/host1,....),运行很正常啊。      
左右拾遗

TOP

不行.      

TOP

你的include文件名是不一样的吧,如果有两个站点,/en和/cn,英文版和中文版,如果它们的目录结构和文件名都一样的话,像你这种配置就不能把它们各自的include文件分开。      

TOP

怎么不行?你能具体说说你两台虚拟主机的配置情况吗?
实际上 include_path 我理解应该是指在当前目录找不到相关文件时,再搜索的路径。      
左右拾遗

TOP

 11 12
发新话题