解决PHP的failed opening required问题的方法

人要想学习一点东西,就应该先学会谦逊。以下是小编为大家搜索整理的解决PHP的failed opening required问题的方法,希望对大家有所帮助!更多精彩内容请及时关注我们应届毕业生考试网!

解决PHP的failed opening required问题的方法

环境:WIN2003+IIS6+PHP5

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

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

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

返回如下提示:

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

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

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

解决方法如下

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

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

  【相关阅读

  解决PHP无法访问远程MySQL的问题

问题是这样的:有A,B,C三台服务器,C为服务器,B可以用PHP成功连接上C机器的mysql,而A机器则不能连接!

可以说,肯定不是代码有什么问题,服务器上的mysql设置也是没什么问题的,因为B机器都是可以的。

肯定是A机器的设置有问题!

在网上一顿搜,各种说mysql授权问题的,以及修改的,修改防火墙的,事实上都不是这些问题导致的。

最后想到了SELINUX的'问题,对比了下AB两台机器,果然设置不一样!估计就是它的问题,有戏!

进行了如下设置:

root下,用vim打开文件文件/etc/selinux/config

修改SELINUX的值:

#SELINUX=enforcing

SELINUX=disabled

保存并退出。

重启生效,如果不想重启,命令行输入

setenforce 0

回车,OK