Digital Ocean Droplet中Git Clone后public/.env文件缺失求助
问题原因分析
- .env文件未同步:绝大多数项目都会把
.env加入.gitignore配置,因为这个文件包含数据库密码、应用密钥等敏感信息,Git不会追踪这类文件,所以克隆仓库时自然不会同步过来。 - public文件夹为空:常见两种情况:
- GitHub仓库里的public文件夹本身就没有文件,或者里面的文件被添加到了
.gitignore中,导致Git不追踪; - 克隆过程中出现了隐性错误(比如网络中断、目录权限不足),导致部分文件未拉取完整。
- GitHub仓库里的public文件夹本身就没有文件,或者里面的文件被添加到了
解决方向
- 处理.env文件:
- 从本地开发环境复制
.env文件到服务器的对应项目目录,或者手动创建一个新的.env; - 根据服务器的实际环境,修改
.env里的配置项(比如数据库连接信息、APP_URL、缓存驱动等); - 调整
.env文件的权限,比如执行chmod 644 .env,避免敏感信息被非法访问。
- 从本地开发环境复制
- 处理public文件夹:
- 先登录GitHub查看目标仓库的public目录是否有文件,如果仓库里确实为空,说明是仓库本身的问题,需要把本地开发环境的public文件推送到GitHub仓库;
- 如果仓库里有文件但服务器上为空,先删除当前的项目目录,重新执行
git clone git@github.com:gitsuername/gtirepo.git,注意观察克隆过程的输出,是否有报错信息; - 检查服务器项目目录的权限,执行
chown -R www-data:www-data /var/www/<foldername>调整权限,确保Git有足够的读写权限来拉取文件。
内容的提问来源于stack exchange,提问作者Diwani Hime
相关产品推荐
相关产品推荐

