29

文件明明存在,却require_once(./*.php)出错

类别: 后台与服务器鼠标炸弹 @ 2009.07.29 11:00 已阅4,010次
标签: , , , , ,

问题描述:

刚装好PMA,在火狐中访问,会看到白板,什么都没输出。使用IE可以看到500错误(服务器内部错误)

打开报错后发现

Warning: require_once(./libraries/common.inc.php) [function.require-once]: failed to open stream: No such file or directory in ***\mousebomb\pma\index.php on line 35

Fatal error: require_once() [function.require]: Failed opening required ‘./libraries/common.inc.php’ (include_path=’.;C:\php5\pear’) in ***\mousebomb\pma\index.php on line 35

而文件是确实存在且IUSR(IIS匿名访问用户)有权限的。

解决方案:

白板的解决:修改php.ini中的相关错误输出设置,默认的php.ini只需要把display_error=off改成display_error=on就可以

require出错解决:require所有./开头的相对路径文件,都必须把上级目录的IUSR开启可读权限。不仅配置PMA,无论什么网站,在wimp下都要注意./开头的文件要想访问都必须上级目录可读

相关文献:

http://hi.baidu.com/ucsec/blog/item/193bc1b6e3ae98fc31add1ab.html

有的时候安装好PHPmyAdmin后,在IE里访问时会出现下面的这种情况:

Warning: require_once(./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:\php5\pear’) in ***\index.php on line 40

出现这种问题的原因有下面几种:

1、你的PHPmyAdmin目录放到了磁盘的根目录下
2、你的PHPmyAdmin目录及上层目录的权限设置问题

解决方法:

·将PHPmyAdmin的目录不要放在磁盘的根目录下,如放在D:\SiteManage\phpmyadmin
·将PHPmyAdmin的目录及上层目录,设置权限如下:
Users    读取和运行
IUSR_……  读取和运行

另外的解决方法:
-----------------

遇到个奇怪的问题。在安装完phpmyadmin后报如下错误:
Warning: require_once(./libraries/common.lib.php) [function.require-once]: failed to open stream: No such file or directory in X:\Xxxxx\phpmyadmin\index.php on line 36
Fatal error: require_once() [function.require]: Failed opening required ‘./libraries/common.lib.php’ (include_path=’.;C:\php5\pear’) in X:\Xxxxx\phpmyadmin\index.php on line 36

将Mysql数据库导入到新装的Mysql5.2中,打开BLog首页,却仍报如上类似错误.

经过一阵调试终于发现解决方法:
原于phpmyadmin与php安装目录的上级ACls权限不够,呵!
给phpmyadmin,php,及它们上一级目录同样的Acls用户读取权;然后再打开Blog,成功搞定! ^_^

注意事项与安全隐患:
1、请不要将phpmyadmin安装在站点或虚拟主机根目录,因为这样guest用户就会拥有根目录的权限。
2、给phpmyadmin给予IIS进程运行用户以及IIS匿名User读取权限即可。强烈建议不要将everyone加入ACLs权限列表。
3、大家在调试程序或配置脚本环境时,请尽量先多看FAQ!然后从报错代码中去寻找原因…(比如上述中错语,你打开index.php的第36行,看PHP代码执行的是什么命令就很清楚错误原因所在了)

注意技巧:

1、不要将phpmyadmin解压安装在根目录,因为这样guest用户就会拥有根目录的权限。
2、给phpmyadmin给予iis用户权限,user组用户权限即可。不建议加everyone权限。

---------

以上两种方法思路一样,大家可试试

本文对您有用吗? 何不留下评论继续交流, 或者在您的博客上引用本文继续探讨.
您可以订阅读者对本文的回应或者订阅本博客以在您的阅读器中自动获取更新.

本文居然还有同伙!有兴趣不?

只有1条评论 - “文件明明存在,却require_once(./*.php)出错”

  1. list里面的对象怎样拖到画面里? : : 9RIA.Com 天地会博客聚合 Unknow Unknow 说:

    [...] 文件明明存在,却require_once(./*.php)出错 [...]

您再来一条评论吧?