Php 允许的内存大小138412032字节已用尽(尝试分配20480字节)

Php 允许的内存大小138412032字节已用尽(尝试分配20480字节),php,composer-php,Php,Composer Php,我正在尝试使用开发一个PHP composer应用程序,并尝试对migrations.PHP文件进行如下更改 <?php declare(strict_types=1); require __DIR__ . '/../../src/App/App.php'; try { $settings = $app->getContainer()->get('settings'); $hostname = $settings['db']['hostname'];

我正在尝试使用开发一个PHP composer应用程序,并尝试对migrations.PHP文件进行如下更改

<?php

declare(strict_types=1);

require __DIR__ . '/../../src/App/App.php';

try {
    $settings = $app->getContainer()->get('settings');

    $hostname = $settings['db']['hostname'];
    $username = $settings['db']['username'];
    $password = $settings['db']['password'];
    $database = $settings['db']['database'];

    $pdo = new PDO("mysql:host=$hostname", $username, $password); //Possibly the connection
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = "DROP DATABASE IF EXISTS $database";
    $pdo->exec($sql);
    echo "[OK] Database droped successfully" . PHP_EOL;

    $sql = "CREATE DATABASE $database";
    $pdo->exec($sql);
    echo "[OK] Database created successfully" . PHP_EOL;

    $sql = "USE $database";
    $pdo->exec($sql);
    echo "[OK] Database selected successfully" . PHP_EOL;

    $sql = file_get_contents(__DIR__ . '/../../database/database.sql');
    $pdo->exec($sql);
    echo "[OK] Tables created successfully" . PHP_EOL;
//    echo "[OK] Records inserted successfully" . PHP_EOL;
    $data = file_get_contents(__DIR__ . '/../../database/companies.json');
    $array = json_decode($data, true);
    foreach($array as $row) {
        $relationships = $row["relationships"];

        $pdo->exec($sql);

    }
    echo "[OK] Json inserted into tables successfully" . PHP_EOL;



} catch (PDOException $e) {
    echo "[ERROR] " . $e->getMessage() . PHP_EOL;
}
我已经从添加了一个php.ini文件到我的存储库中的/docker/php7/php.ini


有人介意告诉我如何增加应用程序的内存限制吗?我对PHP很陌生。如果需要更多说明,请告知我

我建议您可以通过以下方式进行设置:

ini_set('memory_limit', '80M'); 
然而,这是一个糟糕的解决方案,请尽量不要将整个json文件加载到内存中,并使用类似的方法。

它是128M,例如将内存限制设置为256M,希望有帮助


在.ini中

我尝试了此解决方案,但运行composer迁移仍然失败,并产生相同的错误消息,如果您增加更多?
ini_set('memory_limit', '80M');