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

Laravel从XAMPP迁移至虚拟主机报错,如何保留修改修复?

解决Laravel从XAMPP迁移到虚拟主机的Session路径问题

问题核心

报错指向XAMPP旧路径的session目录不存在,说明项目仍在读取XAMPP时期的配置。你执行的缓存清理操作会重置配置,但如果虚拟主机环境的配置未正确更新,就会加载旧模板/配置,导致本地修改丢失。

分步解决方案

1. 补全虚拟主机的Session目录

先在虚拟主机的项目路径下,手动创建缺失的目录并配置权限:

  • Linux/类Unix系统执行命令:
mkdir -p storage/framework/sessions
chmod -R 755 storage/
  • Windows系统直接在文件管理器中创建storage/framework/sessions文件夹,右键设置该目录为可读写。

2. 修正Session路径配置

打开项目根目录的.env文件,更新Session相关配置,让路径指向虚拟主机的项目目录:

SESSION_DRIVER=file
# 替换为虚拟主机的实际项目路径,Linux示例
SESSION_PATH=/var/www/your-project-name/storage/framework/sessions
# Windows虚拟主机示例
SESSION_PATH=C:\virtual-host\your-project-name\storage\framework\sessions

注意:.env文件是环境专属配置,必须确保虚拟主机上的这个文件是最新的,同步XAMPP里的修改。

3. 安全清理缓存(保留自定义修改)

先把XAMPP中所有修改的文件同步到虚拟主机,再执行Laravel官方缓存清理命令,避免直接删除缓存文件导致配置丢失:

# 清理配置缓存
php artisan config:cache
# 清理视图缓存(解决旧视图显示问题)
php artisan view:clear
# 清理路由缓存(如果有自定义路由)
php artisan route:cache

4. 验证配置生效

执行命令确认Session路径已更新:

php artisan config:get session.path

返回结果应为你设置的虚拟主机路径,说明配置生效。

防止修改丢失的关键注意事项

  • 每次本地修改后,同步所有文件到虚拟主机,包括视图、控制器、.env、配置文件等,不要遗漏。
  • 永远优先使用Laravel自带的缓存清理命令,不要直接删除bootstrap/cache下的文件,避免破坏缓存结构。
  • 确认虚拟主机的PHP环境版本符合Laravel项目要求,且storage和bootstrap/cache目录权限正确(必须可读写)。

内容的提问来源于stack exchange,提问作者Godddey Augusting Ojabuoma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 18:01:11