最新消息:新的一年,启动新的宽屏主题模版,关注更多的web前端!

Warning: main(./libraries/common.lib.php):

网络技术 amason 8104浏览 0评论

win环境配置php
服务器软件配置:windows 2003 server + php 4.41 + mysql 4.0-nt + phpMyAdmin 2.8.1
以上软件环境均配置完成,使用phpinfo()正常。

硬盘分区全部用ntfs,设置站点目录所在分区的权限为administrators/system完全
控制,其他用户无权访问。设置phpMyAdmin所在目录除了继承分区的权限设置之外,还
指定了IUSR_xxxx只具有具有读取的权限。

这时候问题发成了,web访问phpMyAdmin的时候,服务器返回:
Warning: main(./libraries/common.lib.php): failed to open stream: No such
file or directory in ***\index.php on line 40

Fatal error: main(): Failed opening required ‘./libraries/common.lib.php’
(include_path=’.;c:\php4\pear’) in ***\index.php on line 40

已排除phpMyAdmin本身文件路径的问题。自己写一个php测试require_once是否能够
正常执行,当用require_once(“xxxx/include.php”)时正常,使用require_once(“./xxx
x/include.php”)时出现上面的错误。

在网上查找相关的错误,发现一篇文章说:

最后个人总结,在nt系统下,如果web所在盘符
权限IUSR不为可读,则在此盘符下IUSR不可使用’./’的路径指向形式。
注意:是就算只给web目录设置了 everyone 可读不给盘符设置可读也无用,
必须是web所在盘符设置IUSR可读。
这样也能解释为何有些主机无法解析’./’指向了。
个人观点,如有错误请指正。

照其所说的修改,设置IUSR_xxx对分区根目录具有读取的权限,错误就没有发生
去掉这个权限则错误再现。
再做个实验,在分区根目录下建立一个目录a,将phpMyAdmin复制到该目录下,设置
IUSR_xxx对a具有读取的权限,则错误没有发生,去掉这个权限则出现ACLs错误,无法访
问站点。
综上所述,与网上的说法向左,在2000 server iis(我使用的环境为2000 server
)环境下,php对”./”的路径解析式存在bug的(姑且说是bug)。如果IUSR_xxx对站点目
录的上级目录没有去读权限的话,”./”解析将错误。

转载请注明:笑申爱设计|liushen.net » Warning: main(./libraries/common.lib.php):

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址