В настоящее время я использую Zend Framework в сочетании с PHPUnit для проведения модульного тестирования приложения. Когда Хадсон выполняет команду оболочки PHPUnit, максимальный предел памяти PHP достигается где-то во время генерации покрытия кода. В настоящее время у меня есть в общей сложности 41 тест с 334 утверждениями.
Я успешно устранил эту ошибку, увеличив параметр memory_limit до 768M с помощью переключателя -d memory_limit=768M
; однако я беспокоюсь, что по мере увеличения сложности вместе с общим количеством тестов/утверждений у меня не будет достаточно памяти для создания HTML для статистики покрытия кода.
ОС: CentOS 5.5
Панель управления: WHM/cPanel
Сервер CI: Hudson
/usr/local/bin/phpunit
--verbose
-d memory_limit=512M
--log-junit ../../build/logs/phpunit.xml
--coverage-clover ../../build/logs/coverage/clover.xml
--coverage-html ../../build/logs/coverage-html/
Фатальная ошибка: разрешенный размер памяти 536870912 байт исчерпан.
Прежде чем зафиксировать свои изменения и позволить Хадсону справиться с остальными, я использую Windows 7 для разработки. Использование памяти никогда не превышало 340 МБ при выполнении той же команды в W7.
sudo vi /.../whatever.php
и добавлял в строкеset_ini("memory_limit","1000M")
. Вероятно, это не лучшая практика ;) - person Alex C   schedule 26.01.2011