Php 允许的内存大小138412032字节已用尽(尝试分配20480字节)
我正在尝试使用开发一个PHP composer应用程序,并尝试对migrations.PHP文件进行如下更改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
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');