PHP:尽管有适当的权限,权限被拒绝
发布时间:2020-12-13 14:03:25 所属栏目:PHP教程 来源:网络整理
导读:我试图用 PHP读取一个文件,但是我收到一个权限被拒绝的错误,尽管每个人都有对该文件的读取权限. PHP代码: $config=file_get_contents('/opt/jenkins/home/config.xml'); 错误: Warning: file_get_contents(/opt/jenkins/home/config.xml): failed to open
我试图用
PHP读取一个文件,但是我收到一个权限被拒绝的错误,尽管每个人都有对该文件的读取权限.
PHP代码: $config=file_get_contents('/opt/jenkins/home/config.xml'); 错误: Warning: file_get_contents(/opt/jenkins/home/config.xml): failed to open stream: Permission denied in [...] 文件系统权限: 有一个符号链接指向/ opt / jenkins / home /到/ var / lib / jenkins,每个人都有对符号链接,实际文件夹和文件的读取权限. $ls -lh /opt/jenkins/ lrwxrwxrwx 1 sysadmin sysadmin 16 2011-08-04 08:12 home -> /var/lib/jenkins $ls -lh /var/lib/ | grep jenkins drwxr-xr-- 6 jenkins adm 4.0K 2011-08-04 10:04 jenkins $ls -lh /var/lib/jenkins/config.xml -rwxr-xr-- 1 jenkins adm 3.9K 2011-08-04 10:05 /var/lib/jenkins/config.xml Apache配置 配置为以下符号链接(选项全部).添加/ var / lib / jenkins /的目录指令没有区别. <Directory /opt/jenkins/home/> Options All AllowOverride All Order Allow,Deny Allow from All </Directory> 附加信息 我是否使用通过符号链接的路径(“/opt/jenkins/home/config.xml”)或实际路径(“/var/lib/jenkins/config.xml”)我也有同样的问题. apache2 version=2.2.14-5ubuntu8.4 php version=5.3.2-1ubuntu4.9 任何想法为什么我得到错误?
您的目录需要执行权限才能使其工作.它似乎没有世界执行,由于jenkins可能不是apache用户,并且apache用户不在adm组中,它将无法正常工作:
$ls -lh /var/lib/ | grep jenkins drwxr-xr-- 6 jenkins adm 4.0K 2011-08-04 10:04 jenkins 每个例子: netcoder@netcoder:~$mkdir foo netcoder@netcoder:~$echo hello > foo/bar netcoder@netcoder:~$chmod 777 foo/bar netcoder@netcoder:~$ls -lsah foo/bar 4.0K -rwxrwxrwx 1 netcoder netcoder 6 2011-08-04 08:22 foo/bar netcoder@netcoder:~$chmod 444 foo/ netcoder@netcoder:~$ls -lsah | grep foo 4.0K dr--r--r-- 2 netcoder netcoder 4.0K 2011-08-04 08:22 foo netcoder@netcoder:~$cat foo/bar cat: foo/bar: Permission denied 即使foo / bar有0777权限,如果该目录没有执行权限,则读取其内容即被拒绝. 您将需要为目标目录和符号链接设置权限. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |