Ошибка допустимого размера Symfony Max - PullRequest
0 голосов
/ 04 марта 2010

Я только что создал новый модуль, и когда я сохраняю, используя сгенерированную форму, я получаю:

Неустранимая ошибка: допустимый объем памяти 8388608 байт исчерпан (попытка выделить 19456 байт) в / Applications / MAMP / htdocs / ats / lib / vendor / symfony / lib / plugins / sfDoctrinePlugin / lib / vendor / doctrine / Doctrine / / Гидратор / Graph.php на линии 404

Есть идеи, почему?

Ответы [ 3 ]

1 голос
/ 04 марта 2010

symfony довольно жадный к памяти, так что это иногда случается. Вы можете увеличить объем памяти, доступной для PHP / symfony через php.ini, как указано выше:

php.ini

memory_limit = 128M

128M - это только пример, который вам, возможно, понадобится оценить.

0 голосов
/ 04 марта 2010

memory_limit - это максимальный объем памяти, который разрешено использовать PHP-скрипту. По сути, это опция конфигурации безопасности, чтобы гарантировать, что у вас нет PHP-скрипта, который просто сходит с ума и потребляет всю память сервера, или, что еще хуже, у вас нет нескольких PHP-скриптов, которые потребляют больше памяти, чем Сервер имеет.


Эта директива конфигурации может быть установлена ​​в файле php.ini; это файл, который задает конфигурацию PHP.

Чтобы узнать, где находится файл php.ini на вашем сервере, вы можете использовать функцию phpinfo(): где-то в верхней части вывода должна быть опция "Loaded Configuration File" .


Какое значение следует использовать для memory_limit - интересный вопрос ... Раньше, когда мы писали только маленький скрипт, обычно достаточно было 8MB.

Теперь, с Frameworks, большими приложениями, структурированными по слоям, ORM и всем этим, 8MB обычно недостаточно (как вы, очевидно, заметили) - я обычно устанавливаю memory_limit на 32M на моих производственных серверах, что почти всегда достаточно для моих приложений, но при этом не слишком много .

Итак, в моем файле php.ini есть:

memory_limit = 32M


Примечание: было бы заманчиво установить очень высокое значение для memory_limit, чтобы просто избавиться от проблемы ... Но помните, что memory_limit здесь для безопасности: вы должны убедиться, что на вашем сервере достаточно памяти, чтобы ответить несколько запросов одновременно!

0 голосов
/ 04 марта 2010

потому что это настроенный лимит памяти вашего php. вы можете найти то, что php.ini использует из phpinfo(), и отредактировать его, чтобы дать Symfony больше памяти.

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