You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 5.6上传图片返回size为0、mime为application/octet-stream错误如何解决

问题原因

你输出中返回的error: 6是PHP官方定义的上传错误码,对应常量UPLOAD_ERR_NO_TMP_DIR,即PHP找不到用于存储上传文件的临时目录。
该错误会直接导致你看到的异常现象:

  • 文件大小为0、mimeType被识别为通用的application/octet-stream:因为文件根本没有被写入到临时存储,拿到的全是空的默认属性,和原文件实际大小无关
  • 修改max_image_upload不生效:该配置和临时目录问题无关联
  • 其他服务器部署正常:其他服务器的PHP临时目录配置、权限均符合要求

解决方法

  1. 检查php.ini配置
    打开当前生效的php.ini文件,找到upload_tmp_dir配置项:
    • 确认该项没有被注释(行首没有分号)
    • 确认配置值指向一个真实存在的目录,示例配置:
    upload_tmp_dir = /tmp/php_upload
    
  2. 配置临时目录权限
    确保你设置的临时目录,对运行PHP服务的进程用户(通常为www-data、apache、nginx)拥有读写权限,示例操作命令:
    # 创建目录(如果不存在)
    mkdir -p /tmp/php_upload
    # 授予目录读写权限
    chmod 755 /tmp/php_upload
    # 把目录所有者改为PHP运行用户
    chown www-data:www-data /tmp/php_upload
    
  3. 重启服务生效
    修改完配置和权限后,重启PHP对应的服务即可:
    # php-fpm 重启示例
    systemctl restart php7.0-fpm
    # apache 重启示例
    systemctl restart apache2
    
  4. 验证功能
    重启后重新测试上传功能即可恢复正常。

内容的提问来源于stack exchange,提问作者aravindan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:54:01