我正在尝试使用PHP 7.0.15在Fedora 25(32位)上的Apache服务器上传文件。
我收到 UPLOAD_ERR_NO_TMP_DIR错误,即使我已经设置了适当的(甚至超过我应该拥有的,但我现在在本地工作)上传目录的权限,我已经更改了apache目录的所有者。
我正在尝试上传一个6kB大的.docx文件,upload_tmp_dir
中的php.ini
设置为/home/temporary
。
ls -l
返回以下代码:
drwxrwxrwx. 2 apache root 4096 Feb 11 20:14 temporary
sys_get_tmp_dir()
返回正确的路径:/home/temporary
但我仍然得到错误6
debug outputArray
(
[userfile] => Array
(
[name] => rus.docx
[type] =>
[tmp_name] =>
[error] => 6
[size] => 0
)
)
什么可能导致这个问题?
答案 0 :(得分:2)
您需要检查php.ini
中的一些内容。确保你正确地php.ini
:
upload_tmp_dir
:这是PHP在上传时存储临时文件的目录。open_basedir
:将PHP读/写权限操作限制为指定路径及其子目录。 确保upload_tmp_dir在此路径中! post_max_size
:将其缩小以适应您上传的尺寸。upload_max_filesize
:允许的文件大小限制。如果您想使用tmp目录设置进行调整,请尝试编辑您选择的/etc/profile
或/ etc/environment
(仅适用于当前会话或所有时间),并且上述检查可以使用它。
答案 1 :(得分:1)
将临时目录放在/var/www
或/var/www/html
。
除此操作外,您还需要使用semanage授予Apache
rewrite
权限。