Heiß, dieses Problem zu lösen und warum passiert es?
Zend Server Log:
Schwerwiegender PHP-Fehler: Die zulässige Speichergröße von 134217728 Byte ist erschöpft (versuchte, 538798977 Bytes zuzuordnen) in C:\Programme (x86)\Zend\Apache2\htdocs\test\modules\main.php in Zeile 3
Die Datei main.php
erzeugt keinen Fehler, wenn sie direkt vom Browser ausgeführt wird. Wenn ich jedoch seine Funktionen aus einer anderen PHO-Datei verwende, druckt Zend Log den oben genannten Fehler.
Ich habe auch dieses Problem angetroffen.
Erhöhen Sie die folgenden Variablen, damit die Seitenausführung nicht angehalten wird:
max_input_time
memory_limit
max_execution_time
Erhöhen Sie entweder die Speichergrenze in php.ini
oder versuchen Sie, große Datenstrukturen (wie Arrays) aus Ihrer Anwendung heraus zu optimieren.
Wenn Ihre Anwendung PHP 128 MB RAM verwendet, ist auf jeden Fall etwas schiefgelaufen.
Was tun Sie, wie Fluffeh in den Kommentaren feststellt, um 500 MB RAM zu verwenden?
Versuche dies:
ini_set('memory_limit', '-1');
Der Server benötigt unbegrenzt Speicherplatz.
Zusätzlich zu user1427811 können Sie time_limit
und memory_limit
vor und nach dem Herunterladen der Datei überwachen:
function custom_put_contents($source_url='',$local_path=''){
$time_limit = ini_get('max_execution_time');
$memory_limit = ini_get('memory_limit');
set_time_limit(0);
ini_set('memory_limit', '-1');
$remote_contents=file_get_contents($source_url);
$response=file_put_contents($local_path, $remote_contents);
set_time_limit($time_limit);
ini_set('memory_limit', $memory_limit);
return $response;
}