PHP で実行時間の長い操作があり、常にメモリ不足でクラッシュしました。
だから私はメモリの使用状況を記録し始めました:
$result = memory_get_usage() / 1024;
echo $result;
コードの一部にコメントを付けることで、RAM をすべて使い果たした「有罪」のコードを見つけました。
これはコードです:
static private function from_camel_case($str)
{
$str[0] = strtolower($str[0]);
$func = create_function('$c', 'return "_" . strtolower($c[1]);');
$result = preg_replace_callback('/([A-Z])/', $func, $str);
return $result;
}
基本的に、キャメルケースのテキストをアンダースコア付きの小文字に変換します。
なぜこれが漏れているのですか?
Mac OS X Lion の MAMP で PHP 5.3.5 を実行しています