或者更确切地说,无论如何在PHP中设置系统临时目录(不是上传临时目录)?
当我跑步时
echo sys_get_temp_dir();
我得到/tmp
。
我跑的时候
ini_get('upload_tmp_dir');
我得到了我在php.ini
文件中指定的目录。反正有没有改变PHP用于sys temp目录的内容?
我一直在我的/tmp
目录中显示随机文件。这些以“php”为前缀,然后有一系列随机数字和字母。据我所知,这些可能是由PHP tmpfile或tempnam生成的。 httpd是在创建它们时使用它们的过程。它们是填满我整个/tmp
分区并将我的服务器关闭的大量文件。我无法弄清楚他们来自哪里。我可以将/tmp
分区大小从500MB增加到2GB,但如果可以,我宁愿避免这样做。
我不明白sys_get_temp_dir()
从哪里拉/tmp
。我搜索的所有内容都告诉我更改.ini中的upload_tmp_dir,但这些是两个不同的东西。
答案 0 :(得分:2)
; sys_temp_dir = "/tmp"
; upload_tmp_dir =
答案 1 :(得分:0)
/tmp
中的文件是您的会话文件。 PHP默认将这些写入磁盘。如果您运行session_save_path
echo session_save_path();
然后你可以再次运行该功能来改变路径,但听起来你的会话太多了。
您可以通过storing your sessions inside your database而不是磁盘来帮助避免这种情况。您还可以PHP do more session cleanups。