php fwrite写入失败,奇怪问题 php-fpm 下使用 fwrite 写入 /tmp 目录失败
PHP 项目,线上碰到个奇怪问题,使用fwrite写入tmpfile() 失败。这里的失败并不是指fwrite返回 FALSE,而是返回int(0),写入 0 个字节。代码很简单如下所示:
$f = tmpfile();
$length = fwrite($f, '123');
var_dump($length);
通过浏览器访问,即php-fpm方式下,输出 int(0)。我做了其他几种情况的测试:
命令行环境:代码原封不动,执行是可以成功写入的。
php-fpm 浏览器访问:将 tmpfile() 替换成fopen('非 /tmp 目录', 'w+'),php-fpm 下可以写入,输出 int(3)
php-fpm 浏览器访问:将 tmpfile() 替换成 fopen('/temp/test-randomstring', 'w+'),输出 int(0)
当前问题已经通过其他迂回方式解决,但是为何写入失败还没有查出原因。最初是怀疑跟服务器的磁盘剩余空间有关(仅剩 10M),但是 1 2 两次测试说明 10M 应该是够用的。
请问大家有什么好的查 BUG 思路?或碰到过类似问题?
更新, 新增了一段测试代码
$name = date("His");
echo "File /tmp/$name.txt\n";
shell_exec('echo "123" > /tmp/'.$name.'.txt&#
php fwrite写入失败,奇怪问题 php-fpm 下使用 fwrite 写入 /tmp 目录失败相关推荐
- win10环境下c语言打开文件失败,cfile fopen fopen_s win10下打开文件失败
vc程序在win10下面使用fopen 打开文件失败,在网上查 了下是因为UAC权限的问题如下: 由于windows vista win7 win8 win 10 添加了UAC权限,所以会导致 在系统 ...
- influxdb数据过期_Influxdb Cluster下的数据写入
Cluster下的数据写入 数据写入的实现主要分析cluster/points_writer.go中的WritePoints函数的实现// WritePoints writes across mult ...
- mysql tmp目录权限_MySQL因/tmp目录读写权限启动失败
启动错误: Starting MySQL.The server quit without updating PID file (/[失败]cal/mysql/var/Aprice2.pid). 错误日 ...
- linux多线程下的fwrite和write使用详解
Linux下的文件操作,有人喜欢用C库的文件流操作,有人喜欢用Linux的原生的系统调用.一般来说,C库的文件操作会更高效一些,因为C库自己做了文件缓存的处理.今天,主要研究多线程下的fwrite与w ...
- windows10下使用wget命令(安装失败,请大家提意见)
windows10下使用wget命令(安装失败,请大家提意见) 下载 下载地址 安装 配置环境变量 计算机–属性–高级系统设置–环境变量 可以在用户变量或者系统变量里新建变量,俩个选一个就行(我在个人 ...
- python逐行写入csv_python之模块csv之CSV文件的写入(按行写入)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #CSV文件的写入(按行写入) import csv #csv文件,是一种常用的文本格式,用以存储表格数据,很 ...
- Window10/Linux 下安装 scrapy (twisted 安装失败的解决办法 )
安装前的一些所谓的"废话" Scrapy 是一个优秀的 Python 框架,相信很多初学者在安装 Scrapy 的时候会遇到一些坑(这些坑主要体现在 Windows 下的 twis ...
- [移动网关]2G环境下资源下载有一定概率失败,客户端日志显示收到403错误
2G环境下资源下载有一定概率失败,客户端日志显示收到403错误 问题现象: 测试同学在使用联通号码在移动网络环境下,访问连接得到的response_code出现是403,导致资源读取失败表情显示异常. ...
- 解决jupyter botebook打不开,修改jupyter botebook工作目录失败问题
解决jupyter botebook打不开 打开jupyter正常应该是自动打开浏览器,或者给你个黑框,你自己复制,粘贴到浏览器里,如图: 但有时怎么也打不开,这时可以在cmd或者anaconda p ...
最新文章
- 计算机二级理工类报哪个,计算机二级考哪一科目,毕业后找工作会对科目有要求吗?还是说不管什么科目有证就行了?...
- MySQL数据库之安装
- 使用Denyhost来阻止恶意连接SSH的IP
- 更易于使用的Retrofit(不用写注解)
- 关于Android的EditText焦点问题
- JVM之JVM内存区域与内存分配(转载)
- jquery ajax load
- spring创建web项目_使用Spring WS创建合同优先的Web服务
- 最简易上手的numpy学习笔记三
- 林洋能源:布局能源互联网 分布式光伏龙头再扬帆
- Spring Boot 特性
- python变量类型声明_python变量声明及简单数据类型
- php 是否支持json,php json 支持汉语
- 数学四大思想八大方法_高中数学八种思维方法如何训练数学思维,高中数学的四大思想是什么?...
- Git克隆仓库代码至本地
- 常用Quartz cron表达式例子
- 支付宝客户端拉起支付
- 视频演示SHAtter越狱iOS 4.1
- amp sqlserver中 什么意思_PLSQL中是什么意思
- 整理lw_oopc开源项目
热门文章
- windows下ffmpeg+nginx-rtmp环境搭建及opencv+ffmpeg+python实现拉流和rtmp直播推流
- 复杂网络分析工具及其比较(…
- linux7 inittab没有,CentOs7 7个运行级别介绍,(CentOs7 inittab在使用systemd时不再使用)...
- VSCode用Run code插件配置python环境(win10)
- pycharm连接服务器方法
- c++: 已经声明过变量,依然报 C2065:未声明的标识符错误 解决办法
- 计算机科学研究算法的局限性,YOCSEF 论坛 | CNCC2018 — 研究经典计算机算法已经过时了吗?...
- python打开本地浏览器_使用webdriver打开本地浏览器--python版
- 如何重装服务器的系统教程,如何重装服务器系统教程
- 微信小程序之window