トップ 一覧 置換 検索 ヘルプ RSS ログイン

PHPでのメモリの使用量の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
PHPにはCLI 版とDSO版がある
{{div_begin class="pre"}}
CLI (Command Line Interface) コマンドラインでPHPが動かせる
設定ファイルは{{span class="ep", php-cli.ini}}
{{div_end}}
!memory_get_usage
http://php.net/manual/ja/function.memory-get-usage.php

{{div_begin class="pre"}}
DSO (Dynamic Shared Object) Apache のモジュールとして動作
設定ファイルは{{span class="ep", php.ini}}
{{div_end}}
!memory_get_peak_usage
http://php.net/manual/ja/function.memory-get-peak-usage.php

{{div_begin class="pre"}}
extension=php_pdo.dll
extension=php_sqlite.dll
などで指定したライブラリは {{span class="ep",extension_dir}}から検索される
{{div_end}}

php.ini の場所は
 環境変数 PHPRC
で設定するか、apacheの場合、httpd.confに
 PHPIniDir "d:/php"
などとすることで、iniファイルの場所を指定できる。

!例
  echo "MEMORY0 : " . number_format(memory_get_usage()) . " byte(初期値)<br>";
  
  $strBuffer = str_repeat("ABCDEFG,", 10000);
  echo "MEMORY1 : " . number_format(memory_get_usage()) . " byte(文字列生成)<br>";
  
  $aryBuffer = explode(",", $strBuffer);
  echo "MEMORY2 : " . number_format(memory_get_usage()) . " byte(配列生成)<br>";
  
  unset($strBuffer);
  echo "MEMORY3 : " . number_format(memory_get_usage()) . " byte(文字列解放)<br>";
  
  mb_convert_variables("SJIS-win", "UTF-8", $aryBuffer);
  echo "MEMORY4 : " . number_format(memory_get_usage()) . " byte(mb_convert_variables実行)<br>";
  
  unset($aryBuffer);
  echo "MEMORY5 : " . number_format(memory_get_usage()) . " byte(配列解放)<br>";
{{category2 プログラミング言語,PHP}}