php fopen函数返回false

使用yum安装的apache2.4.6   php 7.2.2  正确安装后使用fopen()函数打开文件时返回false

百度一下又三种原因

1、目录或者文件夹权限原因

(可以用   chmod -R 777 根目录      文件夹设置最高权限)

2、打开文件路径错误

3、打开方式错误(w,r,a)等

已确定不是上述错误

手动添加php错误报告

//error handler function
function customError($errno, $errstr){
         echo "<b>Error:</b> [$errno] $errstr";
 }

//set error handler
set_error_handler("customError");

返回的错误信息为

failed to open stream: Permission denied

证明没有权限

换成只读模式可以正常打开

猜想是php限制了权限

在php.ini中搜索 open_basedir 查看配置,默认是注释掉的,也就是说没有限制权限

最后在网上各种百度

发现centos系统中默认安装的有selinux 权限管理,并且是默认开启的

百度了一下selinux,介绍的好像大部分都是直接关闭的,配置起来好像很麻烦

那就还是关闭吧

vim /etc/selinux/conf

可以看到

SELINUX= enforcing

修改为

SELINUX=disabled

即可

重启服务器

再次写入文件正常

原文地址:https://www.cnblogs.com/lixihuan/p/8732762.html

时间: 2024-10-24 21:42:36

php fopen函数返回false的相关文章

php is_file 函数返回 false

关于 php 系统函数 is_file() 返回的是 false         $image    = new \Think\Image(); $img_url  = 'http://www.yzcms.com/Attach/image/20150524/test.jpg'; $logo_url = "/Attach/image/20150524/logo.jpg"; $test_url = "D:/www/www/yzcms/Attach/image/20150524/t

fopen()函数

1.2 文件的输入输出函数 键盘.显示器.打印机.磁盘驱动器等逻辑设备, 其输入输出都能够通过文件管理的方法来完毕.而在编程时使用最多的要算是磁盘文件, 因此本节主要以磁盘文件为主, 具体介绍Turbo C2.0提供的文件操作函数, 当然这些对文件的操作函数也适合于非磁盘文件的情况. 另外, Turbo C2.0提供了两类关于文件的函数.一类称做标准文件函数也称缓冲型文件函数, 这是ANSI标准定义的函数; 还有一类叫非标准文件函数, 也称非缓冲型文件函数.这类函数最早公用于UNIX操作系统,

Linux Shell函数返回值

转:http://blog.csdn.net/ithomer/article/details/7954577 Shell函数返回值,一般有3种方式:return,argv,echo 1) return 语句shell函数的返回值,可以和其他语言的返回值一样,通过return语句返回.示例: [javascript] view plain copy print? #!/bin/bash - function mytest() { echo "arg1 = $1" if [ $1 = &q

is_uploaded_file总是返回false的问题

is_uploaded_file ile总是返回false,根据以下方法进行检查,全部检查通过. 1,是否通过http协议上传. 2,form中是否有 enctype="multipart/form-data". 3,上传文件是否超出了规定的大小. 4,存放上传文件的文件夹是否存在,上传的文件夹是否具有写权限. 5,上传文件应该是使用move_uploaded_file()这个函数吧!  6,请确保$_FILES["upload"]['error'] = 0; 最后

初级函数返回值

返回值 什么是函数返回值:函数执行后的结果外部需要使用的时候,我们不能直接给予,是需要通过return返回. 1.执行函数完毕之后,返回的数据 2.有return的函数就有返回值,反之则没有返回undefined 3.把函数内部的值赋值给外边 var j=fn(2,3); console.log(j); function fn(a,b) { var c=a+b; // 如果我们想把函数内部的值赋值给外部,必须使用return; //如果没有return或则return没有值,函数返回undefi

Python 字典(Dictionary) has_key()方法-判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false

描述 Python 字典(Dictionary) has_key() 函数用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false. 语法 has_key()方法语法: dict.has_key(key) 参数 key -- 要在字典中查找的键. 返回值 如果键在字典里返回true,否则返回false. 实例 以下实例展示了 has_key()函数的使用方法: #!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7} pri

fopen()函数中参数mode的取值

FILE * fopen(const char * path,const char * mode); 参数mode字符串则代表着流形态. mode有下列几种形态字符串: r 打开只读文件,该文件必须存在. r+ 打开可读写的文件,该文件必须存在. rb+ 读写打开一个二进制文件,只允许读写数据. rt+ 读写打开一个文本文件,允许读和写. w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失.若文件不存在则建立该文件. w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会

获取$.post $.get回调函数返回值问题

原文地址:http://wangzhipeng0713.blog.163.com/blog/static/1944751652014220111741183/ 项目中用Jquery操作,肯定避免不了向服务器发送请求,所以就会用到上面的两个函数.完整的函数格式如下: $.get(URL,callback); $.post(URL,data,callback); 而某些时候我们要用callback回调函数处理完以后的返回值,常规的思路是定义一个全局变量来接收返回值,然后在$post的外面,函数的里面

Python函数中的变量和函数返回值

1.函数的变量 局部变量和全局变量: Python中的任何变量都有特定的作用域 在函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使用的变量我们称之为局部变量 在一个文件顶部定义的变量可以供文件中的任何函数调用,这些可以为整个程序所使用的变量称为全局变量. def fun(): x=100 print x fun() x = 100 def fun(): global x   //声明 x +=1 print x fun() print x 外部变量被改: x = 100 de