Symfony 3.3.18: Pembaruan Komposer/Instal/Memerlukan api =› Kehabisan memori [duplikat]

Saya mencoba memutakhirkan proyek dari Symfony 3.3. Saya mendapatkan kesalahan ini ketika saya menjalankan composer update, composer install setelah menghapus composer.lock dan composer require.

Kesalahan Fatal PHP: Kehabisan memori (dialokasikan 1601437696) (mencoba mengalokasikan 268435456 byte) di phar://C:/Users/bbarhoum/Documents/ComposerSetup/bin/composer.phar/src/Composer/DependencyResolver/Solver.php aktif baris 223

Ini composer.json saya:

{
    "name" : "symfony/framework-standard-edition",
    "license" : "MIT",
    "type" : "project",
    "description" : "The \"Symfony Standard Edition\" distribution",
    "autoload" : {
        "psr-0" : {
            "Detection" : "vendor/mobile-detect/namespaced"
        },
        "psr-4" : {
            "" : "src/"
        },
        "classmap" : [
            "app/AppKernel.php",
            "app/AppCache.php"
        ],
        "files" : [
            "vendor/wsdlwriter/classes/WsdlDefinition.php",
            "vendor/wsdlwriter/classes/WsdlWriter.php",
            "vendor/php-ga/src/autoload.php",
            "vendor/phpunit-selenium/PHPUnit/Extensions/SeleniumTestCase/Autoload.php",
            "vendor/htmlpurifier/library/HTMLPurifier.auto.php"
        ]
    },
    "require" : {
        "php" : ">=5.5.9",
        "symfony/symfony" : "3.3.*",
        "doctrine/orm" : "^2.5",
        "doctrine/doctrine-bundle" : "^1.6",
        "doctrine/doctrine-cache-bundle" : "^1.2",
        "symfony/swiftmailer-bundle" : "^2.3",
        "symfony/assetic-bundle" : "^2.3",
        "symfony/monolog-bundle" : "^3.0",
        "symfony/polyfill-apcu" : "^1.0",
        "sensio/distribution-bundle" : "^5.0",
        "sensio/framework-extra-bundle" : "^3.0.2",
        "incenteev/composer-parameter-handler" : "^2.0",
        "elasticsearch/elasticsearch" : "~5.0",
        "white-october/pagerfanta-bundle": "^1.2",
        "jasig/phpcas" : "1.3.5"
    },
    "require-dev" : {
        "sensio/generator-bundle" : "^3.0",
        "symfony/phpunit-bridge" : "^3.0",
        "doctrine/doctrine-fixtures-bundle" : "2.3.0",
        "phpunit/phpunit" : "5.5.*"
    },
    "scripts" : {
        "post-install-cmd" : [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
        ],
        "post-update-cmd" : [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
        ]
    },
    "config" : {
        "bin-dir" : "bin",
        "platform" : {
            "php" : "5.6.28"
        }
    },
    "minimum-stability" : "stable",
    "extra" : {
        "symfony-app-dir" : "app",
        "symfony-bin-dir" : "bin",
        "symfony-web-dir" : "web",
        "symfony-assets-install" : "relative",
        "incenteev-parameters" : {
            "file" : "app/config/parameters.yml"
        },
        "branch-alias" : {
            "dev-master" : "3.2-dev"
        }
    }
}

Diagnosis komposer:

Checking platform settings: OK 
Checking git settings: OK 
Checking http connectivity to packagist: OK 
Checking https connectivity to packagist: OK 
Checking HTTP proxy: OK 
Checking HTTP proxy support for request_fulluri: OK 
Checking HTTPS proxy support for request_fulluri: OK 
Checking github.com rate limit: OK 
Checking disk free space: OK 
Checking pubkeys: Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0  87719BA6 8F3BB723 4E5D42D0 84A14642 Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B  0C708369 153E328C AD90147D AFE50952 OK Checking composer version: OK 
Composer version:1.9.3 
PHP version: 5.6.28 - Package overridden via config.platform (actual: 5.6.30)

person Bilel BARHOUMI    schedule 06.03.2020    source sumber
comment
Versi PHP manakah yang Anda gunakan untuk menjalankan composer? Sudahkah Anda mencoba mempersempit batasan versi? Misalnya, Anda dapat menyematkan symfony/symfony ke v3.3.18, karena batasan versi yang diberikan tidak akan pernah terselesaikan ke versi yang lebih baru (karena 3.3 tidak lagi didukung keamanan sejak Juli 2018 - ini berarti bug keamanan di packagist.org/packages/symfony/symfony/ tidak akan pernah mendapatkan perbaikan, jadi Anda harus mempertimbangkan untuk memperbaruinya!)   -  person Nico Haase    schedule 06.03.2020
comment
Versi PHP: 5.6.30 Saya sudah mencoba memperbaiki semua paket dengan versi yang tepat tetapi tidak berhasil.   -  person Bilel BARHOUMI    schedule 06.03.2020
comment
Anda dapat mencoba menjalankan composer menggunakan versi PHP yang lebih baru - pengaturan platform Anda akan menjaga agar tidak menginstal paket yang tidak kompatibel. Selain itu, Anda harus merencanakan untuk segera memperbarui PHP. PHP 5.6 tidak menerima pembaruan apa pun lagi sejak lebih dari setahun, dan PHP 7 jauh lebih cepat (juga untuk Komposer)   -  person Nico Haase    schedule 06.03.2020


Jawaban (1)


Coba jalankan perintah menghilangkan batas memori PHP.

php -d memory_limit=-1 composer update

Anda mungkin perlu menggunakan jalur absolut untuk exe komposer.

Jika ini tidak berhasil, periksa apakah versi PHP Anda untuk x86 atau x64, dan ubah ke versi x64 jika memungkinkan.

Pastikan juga komposer Anda telah diperbarui ke versi terbaru, karena ini akan meningkatkan kinerja. composer self-update

Semoga ini bisa membantu seperti yang terjadi pada saya berkali-kali.

person alexcm    schedule 06.03.2020