Symfony нужен кеш: очищать слишком часто - PullRequest
0 голосов
/ 22 февраля 2020

Я начал учиться Symfony 3 дня go и у меня проблема с кешем или чем-то еще.

Первый у меня RegisterController:

public function index(Request $request, UserPasswordEncoderInterface $encoder)
{
    $user = new User();

    $form = $this->createForm(UserType::class, $user);

    $form->handleRequest($request);

    if ($form->isSubmitted() && $form->isValid()){
        $user = $form->getData();

        $user->setPassword($encoder->encodePassword($user, $user->getPassword()));

        $entityManager = $this->getDoctrine()->getManager();
        $entityManager->persist($user);
        $entityManager->flush();
    }

    return $this->render('register/index.html.twig', [
        'form' => $form->createView(),
    ]);
}

Работает хорошо. Но когда я пишу до

$user = new User();

этой строки $this->denyAccessUnlessGranted("ROLE_ADMIN"); - у меня есть доступ "Доступ запрещен", все в порядке, потому что у меня есть другая роль.

Но когда я удаляю этот код строки $this->denyAccessUnlessGranted("ROLE_ADMIN"); и обновите sh экран у меня есть страница:

Эта страница не работает symfony .local не отправил никаких данных. ERR_EMPTY_RESPONSE

, и я больше не могу получить доступ к этой странице. Я должен очистить кеш:

php bin/console cache:clear

или перезапустить apache.

Можете ли вы сказать мне, что происходит и как это исправить?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2020

У меня проблема с PHP версией: 7.4.0 и php fpm. Я обновляю php до 7.4.3 и теперь все в порядке. Спасибо за вашу помощь.

0 голосов
/ 22 февраля 2020

Symfony можно настроить для различных сред , и эти среды могут изменить поведение Symfony. Если вы работаете в производственной среде, Symfony будет выполнять большое кеширование, чтобы увеличить скорость, с которой страницы обслуживают ваших гостей. Если вы находитесь в режиме DEV, он будет перезагружать большинство изменений кода при каждом его запуске.

Однако веб-серверы / php также могут кэшировать ваши файлы. Если вы находитесь в режиме DEV в Symfony, но проблема не устранена, проверьте настройки кэширования в файле php .ini.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...