PHPメモリ上限・タイムリミットを設定する方法

QAアナリティクスでは、データ量が増えるとサーバー側の制限により「処理が途中で止まる」「データ集計ができない」といった問題が発生する場合があります。
その代表的な要因が PHPのメモリ上限 および PHPの実行時間(タイムリミット) です。


1. なぜ必要か

  • メモリ上限 (memory_limit)
    大量のデータを処理する際、サーバーで利用できるメモリ量が不足すると処理が強制終了することがあります。
  • 実行時間 (max_execution_time)
    PHPには1回の処理に許可される最大実行時間が設定されており、データ量が多い場合、この制限を超えると処理が途中で終了してしまいます。

2. 推奨設定値

以下の値に設定することを推奨します。

項目推奨値
memory_limit1G(1024M)以上
max_execution_time300秒(=5分) またはそれ以上

※ php_memory_limitは多くのサーバーでは 256Mや 512Mがデフォルト設定になっていることが多いですが、安定した処理のためには 1G(1024M)以上 に設定してください。


3. 設定方法

環境に応じて、以下のいずれかの方法をお試しください。


方法1:レンタルサーバーの管理画面で設定する

多くのレンタルサーバー(例:Xserver、ConoHa)では、
管理画面の「PHP設定」または「php.ini設定」から次の値を設定できます。

memory_limit = 1024M
max_execution_time = 300

方法2:「 php.ini 」ファイルを編集する

サーバー側で「 php.ini 」ファイルを設置・編集できる場合は、次の内容を記述します。

memory_limit = 1024M
max_execution_time = 300

4. 設定が反映されたか確認する


5. 補足・注意事項

  • サーバーの契約内容によっては、これらの設定が変更できない場合があります。必ずお使いのサーバーのマニュアル等をご確認ください。

関連記事