什么PHP扩展将临时文件写入/ tmp文件夹?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了什么PHP扩展将临时文件写入/ tmp文件夹?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我的网络服务器有问题.

我注意到在/ tmp目录中经常创建大文件.文件类似于/ tmp / PHPuniqueCODE
但这些都不是上传的.因为在我的PHP.ini设置中配置是

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_start和ob_flush函数.每4kb数据发布到浏览器后,ob_flush就是calles.

这个问题可以与ob_ *函数相关吗?

更新2.
我发现在我执行相同PHP代码下载文件的其他服务器上,/ tmp文件夹中没有临时文件.所以这必须与PHP.ini设置或apache设置有关.
另外我发现临时文件正在下载文件的副本.下载完成后,临时文件将从/ tmp文件夹中删除.

更新3.
解决了这个问题.我发现这不是下载问题.这是使用PHP Http包装器读取文件的问题.
我的文件存储在amazon s3上.我打开socket下载文件

$fh=foPEn('http://s3.amazonaws.COM/.....');

然后我读取文件并发送到用户浏览器.我做了一些测试,发现如果我是来自本地来的真实文件,那么一切都很好.不创建临时文件.
此外,我测试了其他包装 – ftp和一些自定义包装(例如,DropBox自定义包装).一切都很好.

所以这个问题只适用于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文件导致什么问题?

脚本宝典总结

以上是脚本宝典为你收集整理的什么PHP扩展将临时文件写入/ tmp文件夹?全部内容,希望文章能够帮你解决什么PHP扩展将临时文件写入/ tmp文件夹?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。