Композитору требуется нехватка памяти. Неустранимая ошибка PHP: разрешенный объем памяти 1610612736 байт исчерпан Voyager

Привет, я пытаюсь решить проблему при установке voyager. Когда я пытаюсь запустить composer require, я получаю сообщение об ошибке нехватки памяти. Я не понимаю, что случилось. Его результат на моей консоли:

@DESKTOP - ››››› / c / xampp / htdocs / (master) $ composer require tcg / voyager Использование версии ^ 1.4 для tcg / voyager ./composer.json обновлен Загрузка репозиториев композитора с информацией о пакете Обновление зависимостей (включая require-dev) Неустранимая ошибка PHP: исчерпан допустимый размер памяти в 1610612736 байт (попытка выделить 134217736 байт) в phar: // C: /composer/composer.phar/src/Composer/DependencyResolver/RuleSet.php в строке 83 '' `

Возможно, возникла проблема с composer.JSON, мне нужно кое-что проверить. На что следует обратить внимание, в чем проблема? Мой файл composer.json`` {

{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
    "framework",
    "laravel"
],
"license": "MIT",
"require": {
    "php": "^7.2",
    "convertapi/convertapi-php": "^1.1",
    "fideloper/proxy": "^4.0",
    "laravel/framework": "^6.2",
    "laravel/socialite": "^4.3",
    "laravel/tinker": "^1.0",
    "openpayu/openpayu": "^2.2",
    "paypal/rest-api-sdk-php": "^1.14",
    "pragmarx/tracker": "^3.5",
    "spatie/laravel-backup": "^6.8",
    "spatie/pdf-to-image": "^2.0",
    "tcg/voyager": "^1.3"
},
"require-dev": {
    "facade/ignition": "^1.4",
    "fzaninotto/faker": "^1.4",
    "mockery/mockery": "^1.0",
    "nunomaduro/collision": "^3.0",
    "phpunit/phpunit": "^8.0",
    "tanmuhittin/laravel-google-translate": "^1.0"
},
"config": {
    "optimize-autoloader": true,
    "preferred-install": "dist",
    "sort-packages": true
},
"extra": {
    "laravel": {
        "dont-discover": []
    }
},
"autoload": {
    "psr-4": {
        "App\\": "app/"
    },
    "files": [
        "app/Helpers/HelperFunctions.php"
    ],
    "classmap": [
        "database/seeds",
        "database/factories"
    ]
},
"autoload-dev": {
    "psr-4": {
        "Tests\\": "tests/"
    }
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover --ansi"
    ],
    "post-root-package-install": [
        "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "@php artisan key:generate --ansi"
    ]
},
"repositories": {
    "hooks": {
        "type": "composer",
        "url": "https://larapack.io"
    }
}

}


person Inna    schedule 28.08.2020    source источник


Ответы (3)


Похоже, вы используете xampp. вы можете попробовать поменять memory_limit в php.ini. введите описание изображения здесь

Найдите это:

;memory_limit=512M 

Измените на:

memory_limit =-1

Затем перезапустите Apache из xampp

person Andy Song    schedule 28.08.2020
comment
Почему эта проблема также присутствует, когда я пытаюсь загрузить проект на сервер? - person Inna; 29.08.2020
comment
@Inna, потому что тот, который я вам показываю, предназначен для вашей локальной разработки, когда вы загружаете на сервер, это другая среда, это другой вопрос. Вам необходимо изменить memory_limit на вашем сервере. - person Andy Song; 29.08.2020
comment
@ Инна, мой ответ правильный, почему я не принимаю мой ответ? - person Andy Song; 29.08.2020

Вы также можете установить Voyager на свой сервер, используя эту команду: COMPOSER_MEMORY_LIMIT=-1 composer require tcg/voyager

вместо просто composer require tcg/voyager

Я нашел это в ветке . Надеюсь, это поможет. Решение Энди Сонга, тем не менее, лучше.

person JbBucog    schedule 06.11.2020

Если ваш композитор находится в / usr / local / bin /, используйте:

php -d memory_limit=-1 /usr/local/bin/composer require tcg/voyager

--

обратитесь к документу композитора https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors

Чтобы получить текущее значение memory_limit, запустите:

php -r "echo ini_get('memory_limit').PHP_EOL;"

Попробуйте увеличить лимит в вашем файле php.ini (например, /etc/php5/cli/php.ini для систем, подобных Debian):

; Используйте -1 для неограниченного или укажите явное значение, например 2G.

memory_limit = -1

Composer также соблюдает ограничение памяти, определенное переменной среды COMPOSER_MEMORY_LIMIT:

COMPOSER_MEMORY_LIMIT=-1 composer.phar <...>

Или вы можете увеличить лимит с помощью аргумента командной строки:

php -d memory_limit=-1 composer.phar <...>
person Agus Sudarmanto    schedule 18.11.2020