Composer 要求内存不足。 PHP 致命错误:允许的内存大小为 1610612736 字节已用完 Voyager
Posted
技术标签:
【中文标题】Composer 要求内存不足。 PHP 致命错误:允许的内存大小为 1610612736 字节已用完 Voyager【英文标题】:Composer require runs out of memory. PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted Voyager 【发布时间】:2020-12-17 20:47:52 【问题描述】:您好,我在安装 voyager 时正在尝试解决一些问题。 当我尝试运行 composer require 时,出现内存不足错误。我不明白发生了什么。它在我的控制台上的结果:
@DESKTOP->>>>> /c/xampp/htdocs/ (master) $ 作曲家需要 tcg/voyager 为 tcg/voyager 使用版本 ^1.4 ./composer.json 已更新 使用包信息加载作曲家存储库 更新依赖项(包括 require-dev) php致命错误:第83行的phar://composer/composer.phar/src/Composer/DependencyResolver/RuleSet.php中允许的内存大小为1610612736字节(试图分配134217736字节)```
也许 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"
【问题讨论】:
【参考方案1】:看起来您正在使用 xampp。
您可以尝试更改php.ini
中的memory_limit
。
找到这个:
;memory_limit=512M
改为:
memory_limit =-1
然后从 xampp 重启 Apache
【讨论】:
为什么我在上传项目到服务器时也会出现这个问题? @Inna 因为我向您展示的是用于本地开发,当您上传到服务器时,它是一个不同的环境,这是一个不同的问题。您需要更改服务器上的 memory_limit。 @Inna 我的回答是正确的,为什么不接受我的回答。?【参考方案2】:您还可以使用以下命令将 voyager 安装到您的服务器中:
COMPOSER_MEMORY_LIMIT=-1 composer require tcg/voyager
而不仅仅是composer require tcg/voyager
我在thread 上找到了这个。希望能帮助到你。不过,Andy Song 的解决方案更好。
【讨论】:
【参考方案3】:如果您的作曲家位于 /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 <...>
【讨论】:
以上是关于Composer 要求内存不足。 PHP 致命错误:允许的内存大小为 1610612736 字节已用完 Voyager的主要内容,如果未能解决你的问题,请参考以下文章
Php致命错误:使用composer安装用户捆绑时内存大小耗尽
PHP致命错误:内存不足(分配80740352)(试图分配12352字节)
WordPress PHP致命错误:内存不足(分配2097152)(试图分配4096字节)
Composer 内存不足 - 需要其他方法来增加 PHP memory_limit
Composer 致命错误:声明 Fxp... 必须与第 334 行的 ...AbstractAssetsRepository.php 兼容