服务器在进行了新的权限分配以后,突然出现DZ论坛不能正常访问了,但PHP-WIND却正常。经过一翻搜索发现确实是服务器权限分配的问题,描述如下:
1、是论坛作为独立站点,使用IIS指向后,访问出现:
Warning: require_once(./include/common.inc.php) [function.require-once]: failed to open stream: No such file or directory in E:\****\*****\index.php on line 14
Fatal error: require_once() [function.require]: Failed opening required './include/common.inc.php' (include_path='.;C:\php5\pear') in E:\****\*****\index.php on line 14
2、将DZ论坛作为独立站点放置一级目录下安装,提示:
Please upload all files to install Discuz! Board 安装 Discuz! 论坛您必须上传所有文件,否则无法继续
两个问题经过查阅相关信息,解决如下:
1、去掉修改 common.inc.php里所有 './ 为 '/ (就是把中间的点去掉),将"index.php"里面的./include/...."里的"./"完全删除。就可以正常访问。
2、将论坛安装置于二级目录下,使用超链接转向到论坛,再安装一切正常。
问题分析:“./”在LINUX下表示主目录,而WINDOWS下是用“/”表示主目录的,所以在WINDOWS下需要去掉所有的“./”才能正常使用DZ论坛。DZ论坛的推荐操作系统也是LINUX系统,但这里需要指出的是,PHPWIND论坛在WINDOWS下运行正常,问题是两面性的。
另一解决办法,给子目录EVERYONE的权限,但这里需要注意的是,在服务器上给出EVERYONE的权限可一定得注意了,这样会给攻击者留下一个很大的后门方便入侵,即使要给这个权限也一定锁定在根目录,这样可以一定程度上避免跨站攻击带来更多的危害。以PHP为主的程序尽量建议使用LINUX吧。 |