Eu criei uma caixa vagrant com lâmpada com PHP 5.6, mas minhas sessões não queriam começar. Após algumas pesquisas, percebi que meu session.save_path estava vinculando uma pasta que foi “montada” pelo vagrant. Isso fez com que o PHP falhasse na gravação de sessões e fez com que o symfony não pudesse usar as sessões.
EDIT: Isso só parece ocorrer no Mac
Etapa 1: Procure por seu session.save_path em phpinfo ();
Se o valor local apontar para uma pasta “montada” pelo vagrant, isso causará problemas. No meu caso, / vagrant / é minha pasta de montagem.
Você também pode usar o seguinte caso de teste para reproduzir seu problema:
Crie um test.php em seu projeto:
<?php
session_save_path('/vagrant/sessions');
session_start();
file_put_contents('/vagrant/sessions/file.txt', 'TEST');
Se você executar esta linha de comando, verá que o file.txt foi criado com êxito e a criação de sua sessão fornece o seguinte aviso:
Aviso de PHP: Desconhecido: Falha ao gravar os dados da sessão (arquivos). Verifique se a configuração atual de session.save_path está correta (/ vagrant / sessions) em Desconhecido na linha 0
Etapa 2: Resolvendo o problema
Crie uma pasta para as suas sessões a serem gravadas:
mkdir -p /var/lib/php5/<folder>
chown vagrant:vagrant /var/lib/php5/<folder>
Adicione esta linha à sua configuração para dizer ao symfony para escrever sua sessão no caminho de sessão padrão ao invés do 1 que você viu na Etapa 1.
framework:
session:
handler_id: session.handler.native_file
save_path: /var/lib/php5/<folder>
Etapa 3: aproveite
Documentação:
– http://symfony.com/doc/current/cookbook/session/sessions_directory.html
– https://ctors.net/2014/04/21/symfony_slow_in_vagrant
Todas as minhas dicas foram movidas para o meu blog www.pix-art.be, então venha conferir!