解决PHP的Failed opening required问题

解决PHP的Failed opening required问题

环境:WIN2003+IIS6+PHP5

本机,2003下IIS6,配置php5,mysql ,phpMyAdmin。

现在php及mysql都可以正常运行,架phpwind论坛也能正常运行。

配置好ecshop的几个参数后(就是那几个用户名,密码什么的),在浏览器中运行ecshop,

返回如下提示:

Warning: require(../includes/init.php) [function.require]: failed to open stream: No such file or directory in C:AppServwwwindex.php on line 22

Fatal error: require() [function.require]: Failed opening required '../includes/init.php' (include_path='.;C:php5pear') in C:AppServwwwindex.php on line 22

原来原因是这样的:PHP程序到服务器,只能在目录中运行,无法在网站根目录运行,还是目录权限的问题。 / www.phpky.cn

解决方法如下

看下,D盘权限为administrator,下面有一目录为网站目录Web,权限为administrator,然后Web目录下面是各个网站的目录,比如说ecshop目录,平时的建法是ecshop目录权限为administrator,下面再建Data目录和Web目录,这两个目录的权限是权限为administrator+web_ecshop(IIS运行帐号),这样问题就来了,放根目录的PHP程序就会出现各种各样的问题,就是不能正常运行,这应该是目录权限继承的问题。

正确的权限设定是ecshop目录权限为administrator+web_ecshop(IIS运行帐号),下面的两个目录权限为继承,也就是网站根目录的上级目录的权限要和网站根目录权限一样这才样就没问题了。