什么PHP扩展将临时文件写入/ tmp文件夹?
我的网络服务器有问题.
我注意到在/ tmp目录中经常创建大文件.文件类似于/ tmp / phpUNIQUECODE upload_tmp_dir = /backup/tmp upload_max_filesize = 300M post_max_size = 300M 我发现/ tmp中的文件是在下载文件时由PHP进程编写的(PHP进程从TCP套接字读取文件并写入输出). 我读了一些PHP手册,我看到tehre是PHP函数tmpfile().它在/ tmp文件夹中创建临时文件(即使upload_tmp_dir不同).但是我的代码中没有使用此函数.在我的代码中没有任何内容保存到磁盘. 这可能是什么?还有哪些PHP扩展可以在/ tmp文件夹中创建临时文件? 谢谢. 更新1. 这个问题可以与ob_ *函数相关吗? 更新2. 更新3. $fh=fopen('http://s3.amazonaws.com/.....'); 然后我读取文件并发送到用户浏览器.我做了一些测试,发现如果我是来自本地来源的真实文件,那么一切都很好.不创建临时文件. 所以这个问题只适用于php http包装器,只能在我的服务器上运行(其他服务器上的代码相同). 这个简单的代码演示了我的问题 $filepath='http://bucket.s3.amazonaws.com/.....'; $_fp=fopen($filepath,'r'); if ($_fp) { $i=1; $total=0; while (!feof($_fp)) { $tmpbuf=fread($_fp,4096); $total+=strlen($tmpbuf);//this is done only to make downloading slower if($total>=$i*4194304){ $i++; sleep(1);//just to make downloading slower } } fclose($_fp); } 如果我替换第一行 $filepath='/path/to/local/file'; 一切都很好.临时文件未在/ tmp文件夹中创建 关于这个奇怪问题的任何想法? 解决方法
作为神秘的说它听起来像php会话,在你的php.ini检查中看到的值
额外 – – 好吧,所以可能不是会话文件,我已经重读了你的OP和你的额外评论,如果文件是由下载数据的脚本创建的,并且在脚本完成时清理了什么问题? 另外我要指出的是,upload_tmp_dir设置用于通过HTTP上传文件(根据默认的php.ini中的注释),因此可能与下载无关.你用什么代码下载?该命令有设置吗? 更新 由于/ tmp文件与下载文件的大小和时间相匹配,因此它看起来就像是操作系统在整理数据时存储文件的方式.我怀疑它是否值得担心,特别是如果这些文件通常是几个演出.它可能是假脱机到光盘以保留系统RAM 更新2 也许我指的是它,因为操作系统不太正确,也许它在PHP的内容中选择名称/创建tmp文件.我认为它的底线 – 基于你所说的一切 – 是这里没有问题,这就是PHP的工作原理. 另一台服务器可能设置为在其他位置写入tmp文件,但如果没有实际提供用于检查的代码段,我看不出有人可以帮助您了解更多细节. 这些tmp文件导致什么问题? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |