Итак, я попытался выполнить скрипт двумя разными способами:
1)
foreach($result_array as $arg){
exec("/usr/bin/php pathToScript firstArg $arg", $array);
echo "peak usage: " . memory_get_peak_usage() . "\n\r";
}
результаты:
пиковое использование: 5457324
пиковое использование: 7791212
PHPНеустранимая ошибка: допустимый объем памяти 33554432
2)
foreach($result_array as $arg){
curl_file_get_contents("website?query=$arg"); //just a cURL helper function
echo "peak usage: " . memory_get_peak_usage() . "\n\r";
}
результаты:
пиковое использование: 5241708пиковое использование: 5241708пиковое использование: 5241708пиковое использование: 5241708пиковое использование: 5241708пиковое использование: 5241708... вы поняли
Я должен ошибаться относительно того, как exec () использует память или работает.У меня сложилось впечатление, что когда программа разветвляется, используя exec (), требования к памяти вызывающего скрипта не будут выполнены ... Однако, похоже, это не так.
Может кто-нибудь сброситьсвет на то, что здесь происходит, так что я знаю, что происходит?