关于include_once,require_once包含文件失败的解决方法

今天遇到包含文件 访问项目直接就500了,一脸懵比,本地跑的都是没有问题的说;

我的解决思路是做exit一步一步尝试到底哪个文件出错了,说一下我的目录结构:ABC三个同级目录,C为我的工作目录,C文件会根据需求载入AB的一些文件,AB也会包含C里面的一些文件,当然AB之间也有一些包含关系;在C文件夹的入口文件就挂掉了,发现是包含了A文件夹下的某个文件挂掉了,刚开始以为是A文件夹下的文件出问题了,经测试不是的,所以就怀疑到了require_once函数上去了(require_once表示躺枪了)。

于是请求万能的百度大神去了:

这个问题让我重温了绝对路径与相对路径

还有如果项目要放到Linux服务器上运行,开发的时候一定要注意文件的大小写

重点:

1.PHP打开错误提示

2.最终确定到是配置参数open_basedir(open_basedir可将用户访问文件的活动范围限制在指定的区域,可以设置为多个目录,在Windows中用分号分隔目录,在任何其它系统用冒号分隔目录:/usr:/tmp)

3.注意这个配置参数可以在php.ini里面配置 也可以在apache的httpd.conf配置,

4.我的问题是open_basedir指定了C文件夹,所以引入A文件夹就出错了,注释掉这个参数设置或者更改配置即可

5.看网上讲最好关闭,有利于提高效率,当然处于安全考虑也可打开;码代码经常会遇见安全与执行效率不可兼得的状况

6.重启apache(service httpd restart)  就此解决!

猜你喜欢

转载自blog.csdn.net/slyjit/article/details/78881455