Разрешенный объем памяти x исчерпана ошибка при установке PHPUnit с Yii

Я следую вместе с книгой "Разработка гибких веб-приложений с Yii 1.1 и PHP5", и я только начал часть о модульном тестировании в главе 2.

Когда я следую инструкциям по установке PHPUnit через PEAR, я получаю фатальную ошибку "Allowed memory size of x exhausted." Я попытался увеличить выделенную память до 1024 в верхней части PEAR.PHP, используя ini_set('memory_limit','1024M'); Но это только вызвало сбой CLI.

Вот полное сообщение об ошибке:

C:\xampp\htdocs\yii_sc2>pear channel-discover pear.phpunit.de

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate
269279590 bytes) in C:\xampp\php\PEAR\PEAR.php on line 719

Call Stack:
0.0015 535368 1. {main}() C:\xampp\php\PEAR\pearcmd.php:0
0.0986 3506816 2. PEAR::popErrorHandling() C:\xampp\php\PEAR\pearcmd.php:269

Есть идеи?

2 ответа

Решение

Не изменяйте ограничение памяти в файле PEAR.php. Скорее всего, оно будет перезаписано после обновления PEAR. Если изменение лимита памяти в php.ini для вашего исполняемого файла php-cli не устраняет ошибку, попробуйте запустить

peardev upgrade-all

которая является той же командой, что и pear но не имеет ограничения памяти. Для установки PHPUnit у вас должен быть как минимум PEAR-инсталлятор 1.9.1. Вы можете проверить свою версию PEAR, набрав

pear version

Как только все обновится до нужной версии, запустите

peardev channel-discover pear.phpunit.de
peardev channel-discover components.ez.no
peardev channel-discover pear.symfony-project.com
peardev install --alldeps --force phpunit/PHPUnit

Если это по-прежнему приводит к ошибкам, попробуйте зайти на официальные каналы поддержки

Вы должны увеличить свой memory_limit параметр в вашем php.ini файл.

Ваше текущее значение: memory_limit = 16M

Измените это на: memory_limit = 64M

(или больше, если вам нужно)

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