2016-11-11 5 views
0

注:「メモリ不足」エラーメッセージに関する多くの質問がありますが、 "割り当てられた"定義。PHPがメモリ不足のエラーで「割り当て済み」とは何か

どの統計でも、何が測定されているかを知る必要があります。 「割り当てられた」測定は具体的に何か?

私のクライアントのホスティングパッケージには、php.ini設定に基づいて、256MBのPHPメモリが搭載されていると思われます。ウェブホストは最大256MBを許可します。

例:致命的エラー:メモリ不足(118489088を割り当て)は /htdocsに/ WWW/WP-コンテンツ/プラグイン/オールインワンイベントカレンダー/ベンダー/ lessphpに(64 バイトを割り当てしようとしました) /lessc.inc.php on line 293

割り当てられているのは、すべてのPHP関数のメモリを意味するのか、エラーを投げている特定のプロセスだけを意味しますか?

+1

PHPは、単一のプロセスである(https://github.com/krakjoe/pthreads)(マルチスレッド)私は非常に疑問あなたのケースです。 'Out of memory'は' php.ini'ファイルの中でPHPに割り当てられたメモリ不足か、Webサーバー(Apacheの可能性が高い)が[LimitRequestBody指令](http://httpd.apache.org /docs/2.4/mod/core.html#limitrequestbody)、デフォルトでは「無制限」に設定されています。 – icecub

+1

@icecub 'pthreads'だけでなく[pcntl_fork](http://php.net/manual/en/function.pcntl-fork.php)も同様です。 – BVengerov

+0

@BVengerov真実ですが、それは私が一例にしたコメントです。 – icecub

答えて

0

PHPが1つのプロセスであるとのコメントは、この質問に対する答えを見つけるのに非常に役立ちました。紛らわしい問題は、新しいプロセスロードごとに独自のメモリスペースが必要であることです。 PHPには、サイト内の個々のプロセスにメモリを割り当てるメモリマネージャがあります。 PHPが利用できるメモリは、PHPメモリマネージャが処理しなければならない量です。あなたは[pthreadsの]で作業している場合を除き

http://php.net/manual/en/internals2.memory.php

関連する問題