我正在使用Valums 文件上传器通过带有进度条的网页上传文件。几乎一切正常,但我无法更改默认的 tmp 目录,该目录在上传期间存储文件。
文件应该存储在/upload
目录中,而不是默认系统/tmp
目录中,因为/tmp
它安装在一个大小限制为 4 MB 的 RAM 磁盘中,用户将上传大约 10 MB 的文件。
我搜索了很多网页,但没有一个解决方案有效。我在以下位置设置了临时目录php.ini
:
upload_tmp_dir =/upload
我已经设置了该目录的权限/upload
,并且 apache 是该文件的所有者,所以该目录绝对是 PHP 可写的。
我已将文件上传器中的目标路径设置为/upload
,因为我希望文件在上传后也存储在此目录中。最终的结果是小文件上传成功,但大于 4 MB 的文件上传失败——我想到这种行为的唯一原因是文件/tmp
在上传过程中被存储。可以肯定的是,我已经检查过了sys_get_temp_dir()
,结果是 - 所以/tmp
PHP 会忽略我的 php.ini 指令,或者还有其他方法可以设置上传期间文件的存储位置。
哦,最后一个信息:open_basedir
没有设置,所以 PHP 对磁盘的访问仅受文件权限的限制。