Depois de muita escavação, a solução foi bem simples. HHVM e Nginx estavam sendo executados sob o usuário errado. Eu coloquei os dois de volta para www-data e o problema foi resolvido.
Eu desenvolvo localmente com Laravel Homestead
e, em seguida, tenho um servidor remoto que eu envio para produção. Na minha cópia local, tudo funciona sem problemas. No prod, recebo uma exceção Token Mismatch em qualquer rota que eu tente, mesmo se eu enrolar uma página no servidor.
Estou procurando há dois dias tentando descobrir o que poderia causar isso e não tive absolutamente nenhuma sorte. Eu acho que pode ser apenas um problema de configuração do servidor, mas não tenho idéia do que impediria que isso funcione corretamente. Eu simplesmente não consigo descobrir isso.
/storage
tem as permissões adequadas (777 no momento), os arquivos de configuração têm variáveis de sessão exclusivas e meu .env está usando atualmente 'file' para o driver de sessão. Isso acontece com o 'banco de dados' como o driver também.
Se eu hhvm public/index.php
ou php public/index.php
funcionar como esperado, sem problemas de CSRF.
Tags php