跳到主要内容
异次元店铺1 商品图片不显示的排查路径
异次元店铺1 /故障排查

商品图片不显示的排查路径

先做一件事:打开浏览器开发者工具(F12),切到 Network,刷新页面,点那张裂开的图。

状态码,它直接告诉你是哪一类问题。

404:文件不在

图片路径请求到了服务器,但文件不存在。

# 用开发者工具里看到的路径去服务器上找
ls -l /www/wwwroot/yourdomain.com/public/assets/cache/general/image/
  • 目录是空的 → 迁移站点时漏传了附件目录
  • 文件在但路径对不上 → 数据库里存的路径和实际不符,通常是换过目录结构

:::warning 迁移必带附件目录 只导数据库不带文件,所有图片都会 404。见站点搬家清单。 :::

403:权限不够

文件在,但 Nginx 读不了。

chown -R www:www /www/wwwroot/yourdomain.com/public/assets
chmod -R 755 /www/wwwroot/yourdomain.com/public/assets

也可能是父目录没有执行权限——权限要一路检查上去,不只是文件本身。

200 但图片还是不显示

状态码正常说明文件拿到了,问题在别处:

  1. 返回的其实是 HTML — 点 Response 看看内容,可能是被 WAF 拦截返回了拦截页
  2. 文件损坏 — 上传过程中断了,重新上传
  3. 混合内容 — 站点是 HTTPS 但图片是 HTTP,浏览器会拦。Console 里会有 Mixed Content 警告

请求根本没发出

Network 里压根看不到这个请求,说明 HTML 里的 src 就是空的——那是数据层面的问题,商品记录里图片字段是空的,重新编辑商品上传即可。

上传时就失败

如果是「传不上去」而不是「传上去了不显示」,查这几项:

检查项 命令 / 位置
PHP 上传大小限制 upload_max_filesizepost_max_size
Nginx 请求体限制 client_max_body_size 32m;
上传目录可写 ls -ld public/assets/cache
磁盘空间 df -h

四项里 Nginx 的 client_max_body_size 最容易漏——PHP 那边改了,Nginx 这边没改,表现为大图传不上、小图正常。

评论 0

目录
登录 / 注册 登录后可点赞与评论
风格
明暗
语言
风格
明暗
语言