Symfony 6部署Hostinger后文件上传目录异常求助
Symfony部署Hostinger文件上传目录问题解决
核心原因
Hostinger的网站根目录是public_html,但Symfony默认将public作为项目的公共访问目录,导致上传逻辑会基于项目根目录自动创建public/css/images/,而非预期的public_html/css/images/。
解决方案
- 修改Symfony公共目录指向:在项目根目录的
.env文件中添加PUBLIC_DIR=public_html;若为Symfony 5+版本,也可在config/packages/framework.yaml中配置:framework: public_dir: '%kernel.project_dir%/public_html' - 调整上传存储路径:无论是使用Symfony自带的
FileSystemUploader还是自定义上传逻辑,都将目标路径中的public替换为public_html,直接指向%kernel.project_dir%/public_html/css/images/ - 迁移目录内容:将
public/css/images/下的文件移至public_html/css/images/,随后删除自动生成的public/css/images/目录 - 检查目录权限:确保
public_html/css/images/目录权限为755、文件权限为644,保证Symfony具备写入权限
内容的提问来源于stack exchange,提问作者Julien Kunzé
相关产品推荐
相关产品推荐

