2017-02-08 2 views
1

У меня есть проект Symfony3 на моем localhost (Windows 7 Entreprise), и я использую Wamp Server 3.0.0 с PHP 5.6.16 и Apache 2.4.17.Как увеличить ограничение памяти PHP для проекта Symfony под Windows?

Когда я делаю: php bin/console cache:clear

У меня есть эта ошибка: enter image description here

У меня также есть предел памяти ошибки каждый раз, когда я использую Composer (для установки пучков, например).

Я изменил мой php.ini: memory_limit = 1G и перезапущен все услуги из WAMP.

У меня все еще есть эта проблема. Мой проект большой, поэтому, возможно, он исходит из этого.

Единственное решение, которое я нашел, чтобы увеличить объем памяти в каждой командной строке (-1 = неограниченном):/

php -d memory_limit=-1 C:\Path\of\composer.phar require ... 

В производстве, мой проект на Windows Server 2008 R2.

У вас есть лучший способ увеличить лимит памяти для всего моего проекта? Спасибо за вашу помощь.

+1

Вы редактировали правильный файл 'php.ini'? Вы можете проверить, какие файлы '.ini' используются при запуске' php -ini', убедитесь, что ни один из дополнительных файлов '.ini' не перезапишет ваш' memory_limit'. Вы можете проверить его с помощью 'php -i' (и искать' memory_limit') или если доступны bash и grep (например, git bash) try 'php -i | grep memory_limit', чтобы убедиться, что ваш 'memory_limit' установлен правильно. –

+1

Вы говорите, что вы установили лимит памяти на 1G, но ваша ошибка говорит, что разрешенный размер составляет около 134 МБ. Вероятно, @Peh прав: вы фактически не изменили правильный предел памяти. – Nanne

+0

@Peh Я сделал 'php -ini', и вот результат:' Загруженный файл конфигурации: C: \ wamp64 \ bin \ php \ php5.6.16 \ php.ini'. Таким образом, хороший файл, очевидно, используется. Идти, чтобы проверить, имеет ли этот файл мой лимит 1Г или нет, и ... он имеет ограничение 128 М! Фактически, используя контекстное меню Wamp, я изменил 'C: \ wamp64 \ bin \ apache \ apache2.4.17 \ bin \ php.ini', даже если я нажал на папку PHP> php.ini (в меню). – Felurian

ответ

0

Попробуйте установить

@ini_set("memory_limit",-1); 

Run

php -i|grep php.ini 

Чтобы найти, где php.ini и эхо phpinfo() после установки.

Сбросьте переменные после использования и оптимизации кода.

0

У меня была эта проблема, может быть, мое дело будет полезно для кого-то.

Проверьте версию php, которую вы используете как php cli, набрав php -v в командной строке. Затем проверьте версию php, которую использует ваш веб-сервер, - создайте файл php

<?php 
phpinfo(); 

и запустите его на своем сервере. В случае, если версии различны, вы должны следовать такому маршруту на окнах:

Control Panel->System and Security->System->Advanced system settings->Environment Variables 

Ниже Системных переменных таблицы вы должны увидеть Path переменным. Версия php, упомянутая в пути, используется как php cli. Измените маршрут на версию php, используемую вашим сервером (где вы изменили memory_limit). Затем вы должны закрыть все активные окна командной строки для внесения изменений.

Смежные вопросы