永发信息网

php 无法引入文件文件?

答案:3  悬赏:0  手机版
解决时间 2021-01-27 09:48
  • 提问者网友:欺烟
  • 2021-01-26 21:30
linux环境下搭建的apache环境,在网站根目录下有两文件夹 /manage 和 /lib ,在/manage下有一文件 a.php
,在/lib下有文件 h.php。在a.php中require、include、require_once文件h.php,均无法引入。E_ALL无错误提示。尝试 ../lib/h.php $_SERVER['HTTP_HOST'] . "/lib/h.php" $_SERVER['DOCUMENT_ROOT'] . "/lib/h.php" dirname(__file__) . "/../lib/h.php" 等多种写法均无法引入。但是,相同目录和下级目录下的文件可以直接引入。

请教各位高手,如何解决这一问题?在线等~~~~~

网站根目录下所有的文件、文件夹已修改权限为777,问题任存在。初步排除了linux的用户权限问题。
apache开启了 rewrite 模块,且站点根目录及 /manage 下都配置有 .htaccess
后来为了排查文题,将所有的 .htaccess 文件删除掉,问题仍然存在。
请教各位,是否与apache或php配置有关?
++++++++++++++++++++++++++++++++++++++++++++++++
问题找到了,是php.ini里面的设置问题。里面设置了:

open_basedir=.:/tmp/
把这一句注释掉就可以了。
相关的详细解释可以百度 “is not within the allowed path(s):”
感谢努力回答的各位虽然你们没有帮到什么忙
最佳答案
  • 五星知识达人网友:等灯
  • 2021-01-26 22:41
首先,确保require('../lib/h.php')
如果存在问题,检查apache和php的用户和用户组。可能是apache或php用户无法读取和执行目录的关系。
解决办法:要么修改apache或php的用户,要么更改lib和../的所属权限。
chown 更改所属用户或用户组
chmod 更改文件读写权限
简单的方法是chmod 777 ../
但是存在安全隐患。自己斟酌
全部回答
  • 1楼网友:酒醒三更
  • 2021-01-26 23:43
是不是文件权限问题
  • 2楼网友:妄饮晩冬酒
  • 2021-01-26 23:21
是不是你引入的文件在 nginx站外的关系? 问题一目了然,你/manage中的东西可以正常引入,但是文件夹外的东西都无法引入进来。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯