我重新启动了一台受控服务器并遇到了奇怪的情况:/tmp 充满了上传的文件。move_uploaded_file 按预期工作,PHP 和 Apache 错误日志为空(有一些与此问题无关的警告)。
我试图找到原因,所以我将 php.ini 中的 upload_tmp_dir 更改为 /tmp/uploads 并重新启动 Apache。之后“lsof /tmp”输出奇怪的日志:
php 29007 webuser 17r REG 0,22 389161 52039971 /tmp/webuserjReqqp
php 29007 webuser 17r REG 0,22 311739 52042859 /tmp/webuser1SGrJK
httpd 1146 webuser mem REG 0,22 1169082 52053441 /tmp/uploads/phpJAiz0F
httpd 1146 webuser 15u REG 0,22 1169082 52053441 /tmp/uploads/phpJAiz0F
php 29007 webuser 17r REG 0,22 316849 52056728 /tmp/webuseriCSUB4
php 29007 webuser 17r REG 0,22 324447 52056931 /tmp/webuserJIWgw2
php 29007 webuser 17r REG 0,22 1591592 52059078 /tmp/webuserIJm88x
所以 PHP 按预期与 /tmp/uploads 一起工作,但为什么 Apache 在 /tmp 中创建文件?