PHPプログラムに関する各種メモ書き:タグ「メモリ」での検索

PHPのファイルアップロードのファイル要領制限(upload_max_filesize)を変更する。

PHPのファイルアップロードのファイル要領制限を変更するには次の3つのパラメーターを調整する必要があります。 (必ずしも3つの値を揃える必要はありません)

upload_max_filesize = 256M
post_max_size = 256M
memory_limit = 256M

● 1. php.ini 内に記述する場合

upload_max_filesize = 256M
post_max_size = 256M
memory_limit = 256M

● 2. .htaccess に記述する場合

#  ファイルアップロードの最大サイズを 10Mに設定
php_value upload_max_filesize 10M
php_value post_max_size  10M
#  ファイルアップロードの最大サイズを 500Kに設定
php_value upload_max_filesize 500K
php_value post_max_size 500K

● 3. phpスクリプト内に記述する場合(サーバの設定によっては許可されていない場合があります)

// ファイルアップロードの最大サイズを 10M に設定
ini_set('upload_max_filesize', 10 * 1024 * 1024); 

● なお現在のファイルアップロード制限の設定を取得するには

print "upload_max_filesize: " . ini_get('upload_max_filesize')." Bytes です。";

とします。

No.690
06/03 11:00

edit

ファイル
.htaccess
メモリ
エラー対処

PHPプログラムが使用しているメモリを取得する

PHPプログラムが使用しているメモリを取得するには

$mem = memory_get_usage();
$mem = number_format($mem);
print("Memory:{$mem}");

などとするとよいでしょう。

※ ただし関数を呼び出した時点での使用メモリなので注意。


最大どれだけメモリを使用したかは

memory_get_peak_usage();

で取得できます

メソッドとして持っておくといいでしょう

public function dumpmem()
{
	print "\n".'<pre style="text-align:left;">'."\n";
	$mem     = number_format(memory_get_usage());
	$peakmem = number_format(memory_get_peak_usage());
	print("Memory:{$mem} / Peak Memory:{$peakmem}");
	print "\n</pre>\n";
}

No.653
03/12 17:34

edit

メモリ

メモリエラー「PHP Fatal error: Allowed memory size of 8388608 bytes exhausted」

サイズの大きな画像やCSVを加工中にメモリエラー PHP Fatal error: Allowed memory size of 8388608 bytes exhausted が発生することがあります。

このエラーはメモリ不足なので、PHPの最大使用メモリを増やしてあげると回避できます。 下記の例では200MBytesに設定しています。

● 対処法 1.

/etc/php.ini の設定を以下のように変える

memory_limit = 500M      ; Maximum amount of memory a script may consume (8MB)

ギガバイト表記も使えます (4ギガにしたい場合)

memory_limit = 4G      ; Maximum amount of memory a script may consume (8MB)

● 対処法 2.

PHPプログラム内に下記コードを記述する

ini_set('memory_limit', '200M');
No.472
07/02 08:55

edit

ファイル
メモリ