Symfony: съедает всю оперативную память при загрузке из postgresql

прежде всего это то, что я использую:

  • KDE неоновая пользовательская версия 5.20 (Ubuntu 20.04)
  • Интерфейс командной строки Symfony v4.21.3
  • PHP v7.4.3
  • PostgreSQL v12.5

Apache2 также установлен, но я использую локальный сервер symfony.
Apache2 и PostgreSQL отключены, я запускаю их всякий раз, когда хочу работать над этим проектом.

У меня не было проблем при создании моих сущностей и миграций с помощью php bin/console.
И команда php bin/console doctrine:migrations:migrate правильно создала мои таблицы.
У меня не было проблем с вставкой данных в мои таблицы.

У меня есть две разные таблицы:

Они находятся в общедоступной схеме моей базы данных и в настоящее время имеют соответственно 2 и 6 строк.

Я пытаюсь запустить следующий код в своем контроллере только для проверки:

class MainController extends AbstractController {
    /**
     * @Route("/", name = "index")
     */
    public function index(): Response {
        $room = $this->getDoctrine()->getManager()->getRepository(Room::class)->find(1);

        var_dump($room);

        return $this->render("main/index.html.twig", [
            "controller_name" => "welcome"
        ]);
    }
}

И по какой-то причине при попытке загрузить эту страницу в моем браузере symfony съедает всю мою оперативную память. Если я не закрою вкладку или не остановлю локальный сервер, мой компьютер начнет тормозить, потому что оперативная память заполнена.

Бедная моя оперативка

Также я попытался просто использовать:

$room = $this->getDoctrine()->getManager()->getRepository(Room::class)->findAll();

И у меня такая же проблема.
Но при попытке получить что-то несуществующее все работает нормально.

$room = $this->getDoctrine()->getManager()->getRepository(Room::class)->find(999);

Это что-то из моей установки? Или постгрескл?

Спасибо.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

По-видимому, объект Room слишком велик и содержит зависимые объекты, поэтому ваш браузер с трудом отображает очень большой объем данных. Я бы предложил использовать компонент VarDumper вместо var_dump. Это более эффективно с точки зрения отображения больших объектов с внутренними ссылками и рекурсией.

dump($room);

Да, плохо, я забыл, что var_dump будет отображать все из моего класса. Это довольно неловко. Спасибо за пояснение.

Jeremy 12.12.2020 11:39

Другие вопросы по теме