12

この問題を解決するのに熱心で、なぜそれが起こるのですか?

Zendサーバーログ:

PHPの致命的なエラー:3行目のC:\ Program Files(x86)\ Zend \ Apache2 \ htdocs \ test \ modules \ main.phpで許可されたメモリサイズ134217728バイトが使い果たされました(538798977バイトを割り当てようとしました)

ブラウザから直接実行した場合、ファイルmain.phpはエラーを生成しません。ただし、別のPHOファイルからその関数を使用すると、ZendLogは上記のエラーを出力します。

4

4 に答える 4

14

私もこの問題に遭遇しました。

ページの実行が停止しないように、次の変数を増やします。

  • max_input_time
  • memory_limit
  • max_execution_time
于 2012-09-04T13:16:01.100 に答える
10

のメモリ制限を増やすかphp.ini、アプリケーションから大きなデータ構造(配列など)を最適化してみてください。

いずれにせよ、PHPアプリケーションが128MBのRAMを使用している場合は、何か問題が発生している可能性があります。

また、コメントでFluffehが指摘しているように、500MBのRAMを利用するために一体何をしていますか?

于 2012-09-04T13:16:21.337 に答える
7

これを試して:

ini_set('memory_limit', '-1');

php.net/memory_limit

サーバーのメモリ使用量は無制限になります。

于 2012-09-04T13:15:59.657 に答える
2

user1427811に加えて、ファイルのダウンロードの前後を監視できtime_limitますmemory_limit

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;
}
于 2015-03-24T15:28:17.390 に答える