我试图用 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权限,如果该目录没有执行权限,则读取其内容即被拒绝.

您将需要为目标目录和符号链接设置权限.

PHP:尽管有适当的权限,权限被拒绝的更多相关文章

  1. html5录音功能实战示例

    这篇文章主要介绍了html5录音功能实战示例的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  2. 基于 HTML5 WebGL 实现的医疗物流系统

    物联网( IoT ),简单的理解就是物体之间通过互联网进行链接。这篇文章给大家介绍基于 HTML5 WebGL 实现的医疗物流系统,感兴趣的朋友跟随小编一起看看吧

  3. HTML5页面无缝闪开的问题及解决方案

    这篇文章主要介绍了HTML5页面无缝闪开方案,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  4. HTML5跳转小程序wx-open-launch-weapp的示例代码

    这篇文章主要介绍了HTML5跳转小程序wx-open-launch-weapp的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  5. xamarin.ios – ShareKit与MonoTouch如何?

    有人可以验证ShareKit实际上是否可用于MonoTouch并指导我完成使其工作所需的步骤?解决方法您首先从getsharekit.com下载还是使用ShareKit2.0?

  6. ios – 200在xcode 7中生成DSMM警告

    解决方法我有同样的问题.Facebook表示他们已经意识到这一点并且不是高优先级,因为它不会影响应用程序.我回退到4.7.1警告问题不再存在.我不认为它会被拒绝但不能确定.

  7. ios – iPhone崩溃日志不能正确地符号化并且是双重间隔的

    任何建议超过欢迎.谢谢.解决方法当这件事发生在我身上时,它只是我通过电子邮件收到的日志.如果我记得,至少有一些是在.msg文件中,我不得不把它们拿出来.它可能是Exchange编码更改.如果你显示不可见的字符,你可能会看到每个字符之间的东西.您可以找到并替换它们以删除它们或更改编辑器中的编码.

  8. 无法在iOS设备上首次安装企业内部分发应用程序

    我有一个可以通过S3Bucket使用Enterprisedistribution下载的应用程序,它第一次失败并显示加载但是当我通过将设备连接到计算机使用配置实用程序手动安装证书时,相同的网站链接开始工作.我正在使用Jenkins来创建构建.证书没有自动安装,我按照苹果标准使用清单.我的清单文件内容如下:解决方法我通过检查设备日志来解决问题,它说未找到嵌入式配置.我刚刚打开了使用Jenkins创建的

  9. ios – 使用Jenkins和altool自动上传IPA失败,并找不到“Transporter not found”错误

    我正在使用Jenkins和altool验证iOS包并自动将其上传到我的iTunes帐户.虽然验证工作正常,我没有收到任何错误,但上传不起作用.‘/Applications/Xcode.app/Contents/Applications/ApplicationLoader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions

  10. ios – Jenkins无法从项目文件夹运行xcodebuild

    我是Jenkins的新手,但是我尽力用GoogleFu回答这个问题无济于事.我最初是通过手动安装Jenkins遇到了这个问题,但最近使用了OSX安装程序并导致了同样的错误.我猜这与Unix/Linux/OSX权限有关,而不是Jenkins/Xcode,但没有足够的专业知识来确定.编辑项目目录权限设置为775.我也尝试将所有权更改为Jenkins运行的用户.这是我尝试将xcodebuild作为守护程序用户运行时的输出:解决方法确保运行Jenkins的用户具有正确的权限.转到http://[jenkins_s

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部