Laravel 5 更改域后令牌不匹配
Laravel 5 Token Mismatch after changing domain
我正在将我的网站从开发服务器转移到生产服务器。
在域 project.dev (localhost) 和 dev.project.com 上一切正常。现在我已经将文件复制到 project.com 和... "token mismatch exception"。完全相同的文件在其他两个域上运行良好。
dev.project.com 和 project.com 都在同一个机器上。现在他们甚至连接到同一个数据库。
现在,在 google 上将近 2 天后,我不知道下一步该去哪里搜索。
我在任何文件中都没有看到硬编码域。此外,所有文件对我来说都不错。
这是我的第一个 laravel 5.0(一般来说 laravel)项目。
知道我现在应该看哪里吗?
更新
本例中的问题是会话路径在服务器上不可写。解决方案:
$ cd storage
$ sudo chmod -R 755 *
原创
我假设您在提交表单(例如登录表单)后收到异常。
会不会是你在form action中设置了一个绝对路径,包含你生产环境的完整路径(dev.project.com)?这样,您可能会将表单从 project.com 环境提交到您的开发环境。所以你的生产环境正在设置一个你的开发环境不知道的 csrf 令牌,导致令牌不匹配异常。
如果是这种情况,只需使用相对路径(或命名路由,...)。
我正在将我的网站从开发服务器转移到生产服务器。
在域 project.dev (localhost) 和 dev.project.com 上一切正常。现在我已经将文件复制到 project.com 和... "token mismatch exception"。完全相同的文件在其他两个域上运行良好。
dev.project.com 和 project.com 都在同一个机器上。现在他们甚至连接到同一个数据库。
现在,在 google 上将近 2 天后,我不知道下一步该去哪里搜索。
我在任何文件中都没有看到硬编码域。此外,所有文件对我来说都不错。
这是我的第一个 laravel 5.0(一般来说 laravel)项目。
知道我现在应该看哪里吗?
更新
本例中的问题是会话路径在服务器上不可写。解决方案:
$ cd storage
$ sudo chmod -R 755 *
原创
我假设您在提交表单(例如登录表单)后收到异常。
会不会是你在form action中设置了一个绝对路径,包含你生产环境的完整路径(dev.project.com)?这样,您可能会将表单从 project.com 环境提交到您的开发环境。所以你的生产环境正在设置一个你的开发环境不知道的 csrf 令牌,导致令牌不匹配异常。
如果是这种情况,只需使用相对路径(或命名路由,...)。