我正在尝试使用 PHP 7.0.15 在 Fedora 25(32 位)上的 Apache 服务器上上传文件。
我收到UPLOAD_ERR_NO_TMP_DIR错误,即使我已经为上传目录设置了适当的(甚至超出了我应该设置的权限,但我目前正在本地工作)权限,并且我已将该目录的所有者更改为 apache。
我正在尝试上传 6kB 大的 .docx 文件,php.ini
中的 upload_tmp_dir
设置为 /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
)
)
什么可能导致此问题?
最佳答案
您需要检查 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
(仅适用于当前 session 或所有时间),并且上述检查适用。
关于php - 使用 PHP 上传文件时,我不断收到 UPLOAD_ERR_NO_TMP_DIR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42189738/