Недостаточно памяти при использовании командной строки при входе в систему через SSH от имени пользователя mike
.
Когда я запускаю скрипт через браузер или через командную строку как root
, все хорошои останавливается на 1000M, как и ожидалось.
Используемый мной тестовый скрипт:
<code><pre>
<?php
echo //phpinfo();
error_reporting(E_ALL);
ini_set('display_errors', 'on');
for ($i=1; $i<1500; $i+=50) {
$a = loadmem($i);
echo "You have allocated ". $i . "M (". memory_get_usage() . ") memory in this php script" . "<br />";
unset($a);
}
function loadmem($howmuchmeg) {
$a = str_repeat("0", $howmuchmeg * 1024 * 1024); // alocating 10 chars times million chars
return $a;
}
?>
Когда я запускаю как пользователь mike
, ошибки скрипта находятся на отметке 200M.
Я использую php-fpm и пробовал оба PHP 5.6 и 7.2 и пробовал обе memory_limit
настройки как 1000M.
Когда я запускаю это как mike
:
php -i | grep memory_limit
, я получаю:
memory_limit => 1000M => 1000M
Я не могу на всю жизнь понять, откуда он получает этот предел в 200 МБ.
Есть ли какая-то причина, по которой учетная запись пользователя будет ограничивать использование памяти из-за root?