Laravel部署至CPanel后public文件夹新增图片无法显示问题求助
问题排查与解决步骤
public目录下的静态资源不需要执行任何artisan命令即可直接访问,优先排查以下常见问题:
1. 文件权限异常(cPanel部署最高发原因)
cPanel上传文件时经常出现权限继承问题,旧图片权限正常,新上传的图片权限不足导致web服务器无法读取:
- 进入cPanel文件管理器,定位到
public/images目录 - 右键点击无法访问的新图片,查看权限值,确认应为
644,对应images目录权限应为755 - 若权限异常,批量修改新上传图片权限即可恢复访问
2. 上传路径错误
- 部分cPanel部署Laravel时不会直接把网站根目录映射到Laravel的
public文件夹,会通过软连接或者伪静态规则做映射,需要确认你上传新图片的路径是站点实际映射的public目录下的images文件夹,而非Laravel源码根目录下的public - 直接在浏览器地址栏输入新图片的完整访问地址,比如
https://你的域名/images/新图片文件名.后缀,根据返回结果定位问题:- 返回403:确定为权限问题,按第一步处理
- 返回404:确认路径是否正确,或者伪静态规则是否拦截了静态资源请求
3. 图片文件损坏
将无法访问的新图片下载到本地,直接打开验证是否能正常显示,排除上传过程中文件损坏的可能
4. 清除应用缓存(非必要兜底操作)
如果以上问题都排除,可执行以下命令清除Laravel的视图、路由缓存,排除url生成异常的可能:
php artisan view:clear php artisan route:clear php artisan cache:clear
内容的提问来源于stack exchange,提问作者DenjanD
相关产品推荐
相关产品推荐

